png透明背景的问题
时间:2011-05-12
来源:互联网
源图像为透明背景的png。
用程序缩放处理之后,图像周边出现锯齿。
debug.zip (151.15 KB)
用程序缩放处理之后,图像周边出现锯齿。
复制内容到剪贴板
//创建一个真彩色图像
$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);
调试文件 代码:
<?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);

作者: irlvirus 发布时间: 2011-05-12
你的目的是缩放,然后不出现锯齿么?
解决办法,一是用白色为背景,一是换一种图像处理类。
978.png (150.39 KB)
解决办法,一是用白色为背景,一是换一种图像处理类。
附件

2011-5-13 07:29
作者: 蓝色 发布时间: 2011-05-13
楼上就是用 蓝色理想维基:分类:ImageMagick 做的缩略图,已经转为jpg,但没有太多毛边。
作者: 蓝色 发布时间: 2011-05-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28