关于通过PHP保存图像的一些问题

时间:2013-05-30 20:21:28

标签: php image

我想通过PHP保存图片。 我的代码是这样的:

$image = imagecreatefrompng("myimage.png");
$width = imagesx($image);
$height = imagesy($image);

if ($width == 0) {
    $thumb_width = 0;
    $thumb_height = 0;
} else {
    $thumb_width = 600;
    $thumb_height = (int)(600 * $height / $width);
}

$original_aspect = $width / $height;
$thumb_aspect = $thumb_width / $thumb_height;

if ( $original_aspect >= $thumb_aspect )
{
   // If image is wider than thumbnail (in aspect ratio sense)
   $new_height = $thumb_height;
   $new_width = (int)($width / ($height / $thumb_height));
}
else
{
   // If the thumbnail is wider than the image
   $new_width = $thumb_width;
   $new_height = $thumb_height;
}

$thumb = imagecreatetruecolor( $thumb_width, $thumb_height );

// Resize and crop
imagecopyresampled($thumb,
                   $image,
                   0, 0,
                   0, 0,
                   $new_width, $new_height,
                   $width, $height);
imagejpeg($thumb, "newimage.jpg", 80);
  1. 有一个问题,newimage.jpg比png更暗 - 为什么,为了妥善保存,我该怎么做。

  2. 有没有办法用新的不透明度保存newimage.jpg? - 我该怎么做?

  3. 谢谢:)

1 个答案:

答案 0 :(得分:1)

您的PHP版本使用的GD版本不支持颜色配置文件。

如果您无法更新服务器,这是一个真正的问题,并且非常常见。