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

コード静的解析ツールを使った際の気づきなど

最近のプロジェクトでコード静的解析ツール(phpcs,phpmd)を使った際の気づきなど コードを書きながら常時エディタがチェックするタイプのものでないとまず無理(保存するたびでも無理だし、コミット時 …

no image

CakePHP3 Unitテスト モデル編

長らくやろうやろうと思っていながら手がつかなかったCakePHP3のユニットテストについて。 以前にも何らかのエントリーで書いたのですが(下記参照)、モデル系はなかなかやらなかったので、これを機に説明 …

no image

laravelでのredis活用

以前下記エントリーでredisの活用について書きました。 インメモリデータベース redis 一般的な使用法ですと登録できるデータはstring,list,hashのような比較的単純な形しか登録できな …

no image

cakePHP3 serialize&compact

Contents1 serialize2 compact serialize cakePHP3の記述で

みたいな記述をよく見かけていま …

no image

CakePHPのcomponent

CakePHPのComponentについて。 CakePHPでは各コントローラに共通の処理をComponentとしてモジュール化することができます。 わかりやすいところでいえば認証のAuth,Sess …