skillup

技術ブログ

PHP

PHPでの画像トリミング&縮小

投稿日:

PHPにて画像のトリミング&縮小処理があったんで、メモ。

仕様は下記の通り

  • 16:9の画像(解像度:5168×2907)を高さを維持して4:3にする。つまり横長だった画像比を変えるので、両サイドを取り除く
  • 解像度自体を320×240にする。

サンプルコード

imagecopysamledの意味がなかなかわかりませんでした。

トリミング

トリミングに関しては開始点($startPointX)でコントロールします。

中央点を取った後でリサイズ後の画像の横幅の半分を引き算します。(図で書いたほうがわかりやすいかも。)

縮小

最終的なファイルの縮小サイズに関してはimagecopysampledの背景画像の幅、高さの引数だけではだめで、$canvasの値を修正しないといけません。

以外にいろいろなところで使いそうですね・・

参考リンク

http://keicode.com/cgi/php05.php

http://www.24w.jp/study_contents.php?bid=php&iid=php&sid=graphic&cid=002

http://symfoware.blog68.fc2.com/blog-entry-859.html

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

cakePHP3インストール

PHP7に上がりましたが、それ以前にcakeがversion3になっていますね。 いずれはこれでリプレイスをしなくてはいけないので、今日とりあえずインストールしてみました。 原則としてcomposer …

no image

ob_startを使ったバッファリング出力

先日var_dumpの結果をログに出力したいときに検索すると下記のようなコードを書けばよいということがわかりました。

ob_start …

no image

PHPエルビス演算子

PHP エルビス演算子について えープログラムでよくあるnullかどうかをチェックしてnullじゃなければその値を使い、そうじゃなければディフォ値を使うみたいな処理 例えばPOSTを受けてそれを変数で …

no image

nginx上でのcakePHP

cakePHP上をCentOS,nginx上で公開するときのメモなどを。 cakeのversionは2.5です。 /var/www/html/sampleapp直下にプログラムを配置するものとします。 …

no image

エラーハンドリング

エラーが起きた時にPHPだと画面に出ますが(出ない場合は画面が白くなります)、これを検知し、ログに吐いたり任意の処理をできるのがエラーハンドリングです。 フレームワークなどにはほぼこの仕組みが内在して …