指定した垂直/水平で画像を反転

imageflipをPHP5.4以下で使う

公式から抜粋して一部変更と補足追加。

PHP

/** * * 指定した垂直/水平で画像を反転 * @param resource $image * @param text $mode */ function imageflip($image, $mode) { // コピー先の幅 $dst_w = imagesx($image); // コピー先の高さ $dst_h = imagesy($image); // コピー元のx座標 $src_x = 0; // コピー元のy座標 $src_y = 0; // コピー元の幅 $src_w = $dst_w; // コピー元の高さ $src_h = $dst_h; // コピー先の画像リンクリソース $dst_image = imagecreatetruecolor($dst_w, $dst_h); switch($mode) { case 'IMG_FLIP_HORIZONTAL': // 垂直方向 $src_y = $dst_h -1; // コピー元のy座標=コピー先の高さ-1 $src_h = -$dst_h; // コピー元の高さ=-コピー先の高さ break; case 'IMG_FLIP_VERTICAL': // 水平方向 $src_x = $dst_w -1; // コピー元のx座標=コピー先の幅-1 $src_w = -$dst_w; // コピー元の幅=-コピー先の幅 break; case 'IMG_FLIP_BOTH': // 垂直方向+水平方向 $src_x = $dst_w -1; $src_y = $dst_h -1; $src_w = -$dst_w; $src_h = -$dst_h; break; default: return $image; } // 生成 if (imagecopyresampled($dst_image, $image, 0, 0, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)) { return $dst_image; } return $image; }

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。主にLAPP環境でPHPを書いています。最近はjQueryで遊んでいます。
※動作確認について