除了使用imagejpeg或imagepng以外,是否有将php图像资源转换为jpeg或png的更高质量的方法

用户名

转换为PHP图像资源之前的图像

转换为php资源并使用imagepng转换为png后的图像

目前,我正在使用imagepng将基于原始图像的图像资源转换为png图像类型。事实证明,这比为我的jpg创建的imagejpeg函数具有更高的质量。

但是,您可以清楚地看到,这两个函数中的压缩算法的质量不如Photoshop中的那种。

有谁知道获得更高质量jpeg的方法吗?是否有关于图像资源格式以及如何将其转换为jpeg或png的文档?如果我掌握了这些信息,我至少可以尝试实现更好的算法。

//Create image
        $im = apppic($filename, $colors);
        imagepng($im, "images/app/".rtrim($path_array[$count],"jpeg")."png", 0);

function promopic ($filename, $colors){


    if(@imagecreatefromjpeg($filename))
            $img = imagecreatefromjpeg($filename);
    elseif(@imagecreatefrompng($filename))
            $img = imagecreatefrompng($filename);
    elseif(@imagecreatefromgif($filename))
            $img = imagecreatefromgif($filename);
    $width = imagesx($img);
    $height = imagesy($img);
    $imHeight = 625;

    if( $width/$height > 4/5){$imWidth = 800; $imHeight = $height/$width*$imWidth ; }
    else {  $imWidth = $width/$height*$imHeight;  }

    $colorWidth = 1200 - $imWidth;
    $numColors = count($colors);
    $colorHeight = ceil($imHeight/$numColors) - 2;
    $imHeight = ceil($imHeight/$numColors)* $numColors - 2;


    $im = @imagecreate(1200, $imHeight+50)
        or die("Cannot Initialize new GD image stream");
    $background_color = imagecolorallocate($im, 250, 250, 250);
    $text_color = imagecolorallocate($im, 255, 255, 251);
    $blue_color = imagecolorallocate($im, 40, 5, 251);


    //Add color boxes
    for ($i = 1; $i <= $numColors; $i++) {
        $imcolorbox = @imagecreate($colorWidth, $colorHeight);
        $rgb = hex2rgb($colors[($i-1)]);

        $colorbox_color = imagecolorallocate($imcolorbox, $rgb[0], $rgb[1], $rgb[2]);
        $dest_x = 1200-$colorWidth;
        $dest_y = ($colorHeight + 2) * ($i-1);

        $copy_image = imagecopy($im, $imcolorbox,  $dest_x, $dest_y, 0, 0, $colorWidth, $colorHeight);
        imagedestroy($imcolorbox);
        //imagestring($im, 5, 1075, 2+$dest_y,  "Reinvogue.com", $text_color);
        //imagestring($im, 5, $imWidth+5, 2+$dest_y,  "Reinvogue.com", $text_color);
        //imagestring($im, 5, 1050, 17+$dest_y,  "Hex: ".$colors[($i-1)], $text_color);
        //imagestring($im, 5, 1050, 2+$dest_y,  "RGB: ".$rgb[0]." ".$rgb[1]." ".$rgb[2], $text_color);
    }

     imagestring($im, 5, 10, $imHeight+15,  "Powered by the Reinvogue.com Colorway Engine", $blue_color);


    $copy_image = imagecopyresampled($im, $img,  0, 0, 0, 0, $imWidth-2, $imHeight, $width, $height);
    return $im;
}
汤姆

这将创建具有白色背景的高质量图像:

$im = @imagecreatetruecolor(1200, $imHeight+50)
$white = imagecolorallocate($im, 255, 255, 255);
imagefill($im, 0, 0, $white);

如果您使用的是png图像,甚至可以查看imagecolorallocatealphahttp://www.php.net/manual/zh/function.imagecolorallocatealpha.php

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

php imagick将pdf转换为png高质量

来自分类Dev

使用ffmpeg将mp4转换为相同的高质量avi文件?

来自分类Dev

使用高质量的ffmpeg和字幕将.avi转换为.gif

来自分类Dev

使用ffmpeg将mp4转换为相同的高质量avi文件?

来自分类Dev

将png转换为jpeg(转换后的图像质量)

来自分类Dev

将png转换为jpeg(转换后的图像质量)

来自分类Dev

.JPEG .JPG无法在PHP HTML中上传高质量图像

来自分类Dev

从8位到32位的PNG位深度转换是否会提高质量?

来自分类Dev

如何获得高质量的画布到 PNG 的转换

来自分类Dev

将panasonic .MTS视频转换为高质量mpeg视频?

来自分类Dev

将高质量的图形中的内置图转换为出版物?

来自分类Dev

将panasonic .MTS视频转换为高质量mpeg视频?

来自分类Dev

如何将高质量的视频转换为DVD(.vob)?

来自分类Dev

Ubuntu是否有免费的高质量职业模式游戏?

来自分类Dev

Ubuntu是否有免费的高质量职业模式游戏?

来自分类Dev

使用imagepng将旧图像转换为png后删除旧图像

来自分类Dev

调整Web的高质量图像的大小

来自分类Dev

Chrome中的高质量图像渲染

来自分类Dev

如何使用javascript将图像从PNG转换为JPEG?

来自分类Dev

如何使用javascript将图像从PNG转换为JPEG?

来自分类Dev

PHP获取1080p或更高质量的youtube视频

来自分类Dev

将pdf转换为图像[jpeg | png]

来自分类Dev

使用Cuda进行高质量压缩

来自分类Dev

PHP-使用Imagick将所有图像转换为jpg-质量不好

来自分类Dev

将D3 svg保存为高质量图像

来自分类Dev

将D3 SVG保存为高质量图像-视口案例

来自分类Dev

将D3 SVG保存为高质量图像-视口案例

来自分类Dev

如何将Android中的高质量位图图像插入到Gallery中

来自分类Dev

哪种类型的图像具有高质量的矢量或像素(光栅)?

Related 相关文章

  1. 1

    php imagick将pdf转换为png高质量

  2. 2

    使用ffmpeg将mp4转换为相同的高质量avi文件?

  3. 3

    使用高质量的ffmpeg和字幕将.avi转换为.gif

  4. 4

    使用ffmpeg将mp4转换为相同的高质量avi文件?

  5. 5

    将png转换为jpeg(转换后的图像质量)

  6. 6

    将png转换为jpeg(转换后的图像质量)

  7. 7

    .JPEG .JPG无法在PHP HTML中上传高质量图像

  8. 8

    从8位到32位的PNG位深度转换是否会提高质量?

  9. 9

    如何获得高质量的画布到 PNG 的转换

  10. 10

    将panasonic .MTS视频转换为高质量mpeg视频?

  11. 11

    将高质量的图形中的内置图转换为出版物?

  12. 12

    将panasonic .MTS视频转换为高质量mpeg视频?

  13. 13

    如何将高质量的视频转换为DVD(.vob)?

  14. 14

    Ubuntu是否有免费的高质量职业模式游戏?

  15. 15

    Ubuntu是否有免费的高质量职业模式游戏?

  16. 16

    使用imagepng将旧图像转换为png后删除旧图像

  17. 17

    调整Web的高质量图像的大小

  18. 18

    Chrome中的高质量图像渲染

  19. 19

    如何使用javascript将图像从PNG转换为JPEG?

  20. 20

    如何使用javascript将图像从PNG转换为JPEG?

  21. 21

    PHP获取1080p或更高质量的youtube视频

  22. 22

    将pdf转换为图像[jpeg | png]

  23. 23

    使用Cuda进行高质量压缩

  24. 24

    PHP-使用Imagick将所有图像转换为jpg-质量不好

  25. 25

    将D3 svg保存为高质量图像

  26. 26

    将D3 SVG保存为高质量图像-视口案例

  27. 27

    将D3 SVG保存为高质量图像-视口案例

  28. 28

    如何将Android中的高质量位图图像插入到Gallery中

  29. 29

    哪种类型的图像具有高质量的矢量或像素(光栅)?

热门标签

归档