花花世界蕾 发表于 2015-8-25 15:01:56

php header("Content-type: image/jpg");(转)

php header("Content-type: image/jpg");
  程序员必上的开发者服务平台 —— DevStore
  php
  header("Content-type: image/jpg");
  readfile("test.jpg");
  输出图片的时候图片太大了。1000px,能不能设置为500px输了呢?

<?php
//调整图片大小
/**
*图片按比例调整大小的原理:
*1、比较原图大小是否小于等于目标大小,如果是则直接采用原图宽高
*2、如果原图大小超过目标大小,则对比原图宽高大小
*3、如:宽>高,则宽=目标宽, 高=目标宽的比例 * 原高
*4、如:高>宽,则高=目标高,宽=目标高的比例 * 原宽   
**/

$image = "test.jpg";
$max_width = 200;
$max_height = 200;

$size = getimagesize($image);   //得到图像的大小
$width = $size;            
$height = $size;

$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;

if (($width <= $max_width) && ($height <= $max_height))
{
    $tn_width = $width;
    $tn_height = $height;
}
elseif (($x_ratio * $height) < $max_height)
{
    $tn_height = ceil($x_ratio * $height);
    $tn_width = $max_width;
}
else
{
    $tn_width = ceil($y_ratio * $width);
    $tn_height = $max_height;
}

$src = imagecreatefromjpeg($image);
$dst = imagecreatetruecolor($tn_width, $tn_height); //新建一个真彩色图像
imagecopyresampled($dst, $src, 0, 0, 0, 0,
    $tn_width, $tn_height, $width, $height);      //重采样拷贝部分图像并调整大小
header('Content-Type: image/jpeg');
imagejpeg($dst,null,100);
imagedestroy($src);
imagedestroy($dst);
?>
页: [1]
查看完整版本: php header("Content-type: image/jpg");(转)