0

画像の種類 (PNG、JPEG、GIF) を受け取り、サイズを変更してパスに保存する画像アップロード フォームがあります。

何らかの理由で PNG ファイル タイプを動作させることができません。JPEG/GIF で正常に動作し、ファイルがコピーされるため、PNG の作成方法に関係があるように見えます。

PHP で PNG を作成するには、別のパラメーターまたはオプションが必要ですか? イメージ作成を行う行のサンプル コード:

$src = imagecreatefrompng($uploadedfile);
imagecreatetruecolor($newWidth,$newHeight)
imagecopyresampled($tmp,$src,0,0,0,0,$newWidth,$newHeight,$width,$height);
imagepng($tmp,$destinationPath."/".$destinationFile,100);

同じコマンドが JPG と GIF で機能します。

4

4 に答える 4

2

PHP がどのように構築されているかを確認する必要があります。例:

GD Support  enabled
GD Version  bundled (2.0.28 compatible) 
PNG Support     enabled 

PNG サポートがコンパイルされていない場合は、更新する必要があります。

于 2008-10-06T22:47:29.017 に答える
1

私は問題を理解しました。APIを読んでいないという問題です:P。

またはとは異なりimagejpg()、圧縮には0〜9の整数を受け入れますimagegif()imagepng()そのため、品質が高くなると考えてパラメータとして100を渡していましたが、代わりに最大圧縮として扱ったと思います。0を渡すと、問題は解決しました。

たぶんAPIはPHPバージョンから変更されましたか?

于 2008-10-06T23:14:44.050 に答える
0

PNG-8 画像から始めていますか? PHP を使用する場合、PNG-8 と PNG-24 にはいくつかの問題があります。PNG サポートがコンパイルされていることを確認してから、PNG-8 問題に対するこの人の解決策を見てください

于 2008-10-06T22:54:54.243 に答える
0

チェックして、PNGをサポートしています:

'GIF Read Support' => boolean true 'GIF Create Support' => boolean true 'JPG Support' => boolean true 'PNG Support' => boolean true

返信ありがとうございます...それだと思いました

于 2008-10-06T22:57:03.570 に答える