$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);
2 回答

我是新手_請多指教
TA貢獻140條經驗 獲得超79個贊
終于搞定了,原來其中一張下載保存下來的圖片真正的mime類型是jpeg,不管你改成什么后綴名都不能改變它真正的內在,請大家一定要注意,害的我幾個程序搞了半天。氣死了!
- 2 回答
- 0 關注
- 2301 瀏覽
添加回答
舉報
0/150
提交
取消