3 回答
![?](http://img1.sycdn.imooc.com/5333a2320001acdd02000200-100-100.jpg)
TA贡献1818条经验 获得超3个赞
imagealphablending( $targetImage, false );
imagesavealpha( $targetImage, true );
为我做了 谢谢ceejayoz。
请注意,目标图像需要Alpha设置,而不是源图像。
编辑:完整替换代码。另见以下答案及其评论。这不能保证在任何方面都是完美的,但确实满足了我当时的需求。
$uploadTempFile = $myField[ 'tmp_name' ]
list( $uploadWidth, $uploadHeight, $uploadType )
= getimagesize( $uploadTempFile );
$srcImage = imagecreatefrompng( $uploadTempFile );
$targetImage = imagecreatetruecolor( 128, 128 );
imagealphablending( $targetImage, false );
imagesavealpha( $targetImage, true );
imagecopyresampled( $targetImage, $srcImage,
0, 0,
0, 0,
128, 128,
$uploadWidth, $uploadHeight );
imagepng( $targetImage, 'out.png', 9 );
![?](http://img1.sycdn.imooc.com/54586431000103bb02200220-100-100.jpg)
TA贡献1752条经验 获得超4个赞
我相信这应该可以解决问题:
$srcImage = imagecreatefrompng($uploadTempFile);imagealphablending($srcImage, false);imagesavealpha($srcImage, true);
编辑: PHP文档声明中的某些人imagealphablending
应该是真的,而不是假的。因人而异。
- 3 回答
- 0 关注
- 880 浏览
添加回答
举报