PHP

PHP

【PHP】PNG画像をリサイズ

画像のアップロード機能を作成していたのですが、

少しはまったので、

メモがてら情報を残しておくことに。

 

はまったのは、

PNG画像をリサイズする際に、

透過されている画像の背景部分が黒くなってしまう点です。

 

ソースはこちらです↓

 

このような場合は、

imagesavealpha()

で「アルファフラグ」を設定すれば問題は解決するようです。

 

ただ、

imagesavealpha()

を設定する場合には、

アルファブレンディングを解除する必要があるとのことです。
※以下を参照させて頂きました。
http://www.phppro.jp/phpmanual/php/function.imagesavealpha.html

 

なので、

以下のような処理を追加すればOKのようです。

===============================
//アルファブレンディングを無効
imagealphablending($canvas, false);
//アルファフラグを設定
imagesavealpha($canvas, true);
===============================

 

今回であれば、

以下のように修正することで、

問題なくPNG画像の処理を行えるようになりました!!

 

関連記事

  1. PHP

    PHP

    implodeで配列を分解して任意の文字で結合する

    最近はPHPにもすっかり慣れてしまい、参考書を見ることもすっかり減…

  2. PHP

    PHP

    PHPでWarningエラーが!!

    PHPでこんなエラーが↓PHP Warning:  PHP Sta…

  3. PHP

    PHP

    PHP脆弱性対応 フォームの改行コード、復帰コードの取り扱い

    サイト構築時、大概の場合お問合せフォームを設置すると思いますが、…

  4. PHP

    PHP

    CakePHPのtinyintでハマった!!

    CakePHPでデータベースを作成する時には注意しないといけない点があ…

  5. PHP

    PHP

    mb_strlen()関数の注意点!!

    PHPでバイト数ではなく文字数を取得したい場合、mb_strlen…

  6. PHP

    PHP

    【PHP】imagepng()の圧縮率設定について

    imagepng(): gd-png error: compressi…

最近の記事

  1. PHP
  2. Python
  3. Python
  4. PHP
  5. 宅建
PAGE TOP