$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);
qq_青枣工作室_0
我是新手_请多指教