Maison  >  Article  >  développement back-end  >  PHP implémente la sortie directe des images dans le navigateur

PHP implémente la sortie directe des images dans le navigateur

小云云
小云云original
2018-03-20 14:44:563584parcourir

Le moyen le plus simple de générer une image dans un navigateur est bien sûr d'utiliser la balise HTML img et de transmettre directement le chemin ou le lien de l'image. Mais parfois, nous devons effectuer un traitement sur l'image, comme modifier la qualité ou la taille de l'image avant de l'afficher. Nous pouvons utiliser la fonction de traitement d'image intégrée de PHP, imagecreatefromjpeg (ou imagecreatefrompng) pour créer une nouvelle image et imagejpeg (ou imagepng) à partir d'un fichier ou d'une URL. ), l'envoi de Content-type: image/jpeg via header() peut amener le script PHP à générer directement des images JPEG.

/*
 * php 页面直接输出图片
 */
function showImg($img){
	$info = getimagesize($img);
	$imgExt = image_type_to_extension($info[2], false);  //获取文件后缀
	$fun = "imagecreatefrom{$imgExt}";
	$imgInfo = $fun($img); 					//1.由文件或 URL 创建一个新图象。如:imagecreatefrompng ( string $filename )
	//$mime = $info['mime'];
	$mime = image_type_to_mime_type(exif_imagetype($img)); //获取图片的 MIME 类型
	header('Content-Type:'.$mime);
	$quality = 100;
	if($imgExt == 'png') $quality = 9;		//输出质量,JPEG格式(0-100),PNG格式(0-9)
	$getImgInfo = "image{$imgExt}";
	$getImgInfo($imgInfo, null, $quality);	//2.将图像输出到浏览器或文件。如: imagepng ( resource $image )
	imagedestroy($imgInfo);
}

peut lire les fichiers d'images locaux et les liens d'images distants.
Remarque : la prise en charge d'imagejpeg (ou imagepng) n'est disponible que lorsque PHP est compilé avec GD-1.8 ou supérieur. la qualité est facultative, jpeg va de 0 (pire qualité, taille de fichier plus petite) à 100 (meilleure qualité, taille de fichier la plus grande) et png va de 0 à 9.

Recommandations associées :

Méthode PHP pour afficher directement les images dans le navigateur

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn