猿问

php图像处理经常出现一个框,实在不能理解,求专业人士帮忙看看

$filename = 'fbb.png';            //文件名

$percent = 0.1;                     //定义百分比,缩放到0.1大小

list ( $width, $height ) = getimagesize ( $filename );       // 将图片宽高获取到

//设置新的缩放的宽高

$new_width = $width * $percent;                                

$new_height = $height * $percent;

//创建新图片

$new_image = imagecreatetruecolor ( $new_width, $new_height );

//打开来源图片

$image = imagecreatefrompng( $filename );

//将原图$image按照指定的宽高,复制到$new_image指定的宽高大小中

imagecopyresampled ( $new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height );

header ('content-type:image/png' );        

imagepng( $new_image );           

程序执行结果:

但是呢,上面的代码如果只要把打开来源图片imagecreatefrompng改为imagecreatefromjpeg就能正常显示图片缩放效果,可是我的图片素材是.png格式的。这一点我不能理解。


下面是另一段代码非智能化的图片水印程序也是出现跟上面一样的效果,已经尝试解决,无果。

$dst=imagecreatefrompng('fbb.png');     //打开目标图片

$src=imagecreatefrompng('baidu.png');  //打开Logo来源图片

$dst_info=getimagesize('fbb.png');      //得到目标图片的宽高

$src_info=getimagesize('baidu.png');   //得到logo图片的宽高

//要将图片加在右下脚,以下备注省略,主要求问题所在。

$dst_x=$dst_info[0]-$src_info[0];

$dst_y=$dst_info[1]-$src_info[1];

imagecopymerge($dst, $src, $dst_x, $dst_y, 0, 0, $src_info[0], $src_info[1], 50);    

header('content-type:image/png');

imagepng($dst);

imagedestroy($dst);

imagedestroy($src);

我是新手_请多指教
浏览 2232回答 2
2回答

qq_青枣工作室_0

$dst_info=getimagesize('fbb.png'); 可以用$dst_info['mime'] 获取mime类型。

我是新手_请多指教

终于搞定了,原来其中一张下载保存下来的图片真正的mime类型是jpeg,不管你改成什么后缀名都不能改变它真正的内在,请大家一定要注意,害的我几个程序搞了半天。气死了!
随时随地看视频慕课网APP
我要回答