GD ライブラリを使用して画像に透かしを追加する際に問題に直面しています。GD バージョン 2.0 の PHP バージョン 5.4.6-1ubuntu1.4 を持つローカルの Ubuntu サーバーでも同じコードが正常に動作しますが、終了後に画像に黒い背景が生成されます透かし画像、私のウェブサイトはhostgatorでホストされており、GDバージョンがバンドルされたPHPバージョン5.4.20(2.1.0互換)を使用するようにサーバーをアップグレードしましたが、それでも同じ問題です。
以下は、ローカル サーバーで機能するが、サーバー上で黒いイメージを生成するコードです。
imagecreatefromjpeg($img);
$targetImage = imagecreatetruecolor($width, $height);
$watermark = imagecreatefrompng($watermark_src);
imagealphablending($watermark, true);
//imagesavealpha($watermark, true);
$black = imagecolorallocate($watermark, 0, 0, 0);
imagecolortransparent($watermark, $black);
imagecopy($img, $watermark, $final_x, $final_y, 0, 0, $W, $H);
imagedestroy($img);
imagejpeg($img);
また、サーバーのコードに多くの変更を加えて、黒い変数のコードを削除して imagesaveaplha などを追加しようとしましたが、まだ運がありません。
プロセスはタスクを達成するために複数の関数を使用するため、変数名は関数によって異なる場合がありますが、シーケンスは上で書いたものと同じです。また、コードを個別に実行すると問題なく動作しますが、joomla コンポーネントで使用すると、黒い背景の問題が発生します