ご覧頂きまして、ありがとうございます。
現在、phpによるpngファイルの縮小で躓いています。
Webサイトからフォームにて画像データをサーバにUPしたまではよいのですが、
一定の大きさに縮小出来ずにいます。
画像の縮小について、現在、下記のとおりコードを書きました
php
1$new_image = ImageCreateTrueColor(970, $new_height); 2ImageCopyResampled($new_image,$thumbnail_temp_image,0,0,0,0,970,$new_height,$thumbnail_temp_image_width,$thumbnail_temp_image_height); 3 4$temp_image_path_th = "th_".$temp_image_name; 5if( $img_data_type == "image/png" ){ imagepng($new_image, $temp_image_path_th, 95);} 6else( $img_data_type == "image/jpeg" ){ imagejpeg($new_image, $temp_image_path_th, 95); }
jpegファイルをアップした際、問題なく縮小処理がされましたが、pngファイルの場合0バイトの空ファイルのみ
しか出来ませんでした。
そこで、pngファイルの場合のみ、別処理として下記のとおりコードを書き直しました。
php
1if( $img_data_type == "image/png" ) 2{ 3 $original_image = ImageCreateFromPNG($temp_image_name); 4 $new_image = ImageCreateTrueColor(970, $new_height); 5 imagealphablending($new_image, false); 6 imagesavealpha($new_image, true); 7 ImageCopyResampled($new_image,$original_image,0,0,0,0,970,$new_height,$thumbnail_temp_image_width,$thumbnail_temp_image_height); 8} 9else 10{ 11 $new_image = ImageCreateTrueColor(970, $new_height); 12 ImageCopyResampled($new_image,$thumbnail_temp_image,0,0,0,0,970,$new_height,$thumbnail_temp_image_width,$thumbnail_temp_image_height); 13} 14 15$temp_image_path_th = "S_".$temp_image_name; 16if( $img_data_type == "image/png" ){ imagepng($new_image, $temp_image_path_th, 95);} 17else( $img_data_type == "image/jpeg" ){ imagejpeg($new_image, $temp_image_path_th, 95); }
しかし、やっぱりと言うか、状況が変わらず、jpegファイルは縮小してサーバに保存されるのですが、
pngの場合、ファイル自体はできるのですが、0バイトと空ファイルとなっており、元画像の
縮小に失敗しています。
色々、試行錯誤してみましたが、完全に手詰まり状態になってしまいました。
どなたか、phpによるpngファイルの縮小に関してご存じの方がいらしゃれば、どうかご教授お願いいたします。
回答2件
あなたの回答
tips
プレビュー