+ -
当前位置:首页 → 问答吧 → png透明背景的问题

png透明背景的问题

时间:2011-05-12

来源:互联网

源图像为透明背景的png。
用程序缩放处理之后,图像周边出现锯齿。
未命名-1.jpg (33.09 KB)
2011-5-12 17:27
复制内容到剪贴板
代码:
<?php
    //创建一个真彩色图像
    $dst_im = imagecreatetruecolor(200, 200);
    //填充背景为白色, 用画矩阵的方法实现,不填充则黑色为底色。透明色不好处理。
    $color = imagecolorallocate($dst_im, 255, 255, 255);
    imagefilledrectangle($dst_im, 0, 0, 200, 200, $color);
    //读取png文件
    $src = imagecreatefrompng('978.png');
    //将png文件缩放到dst_im
    imagecopyresampled($dst_im, $src, 0, 0, 0, 0, 200, 200, 400, 400);
    //设置白色底色为透明色,如不设置则背景色为白色。
    imagecolortransparent($dst_im, $color);
    //输出图像
    header('content-type:image/png');
    imagepng($dst_im);
调试文件 debug.zip (151.15 KB)
debug.zip (151.15 KB)
下载次数: 3
2011-5-12 17:27

作者: irlvirus   发布时间: 2011-05-12

你的目的是缩放,然后不出现锯齿么?
解决办法,一是用白色为背景,一是换一种图像处理类。

附件

978.png (150.39 KB)

2011-5-13 07:29

作者: 蓝色   发布时间: 2011-05-13

楼上就是用 蓝色理想维基:分类:ImageMagick 做的缩略图,已经转为jpg,但没有太多毛边。

作者: 蓝色   发布时间: 2011-05-13