skillup

技術ブログ

PHP

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

投稿日:2015年10月18日 更新日:

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

仕様は下記の通り

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

サンプルコード

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

トリミング

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

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

縮小

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

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

参考リンク

画像を切り取るプログラムを作ろう!

画像を拡大・縮小する方法

PHP – GDで画像のリサイズや縮小して右寄せ

-PHP
-

執筆者:


comment

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

関連記事

no image

CakePHP3系でのテスト処理

以前CakePHP2系のテストは書きましたが、3系は若干仕様が違いますので、3について書こうと思います。例によってエントリーレベルですが。 Contents1 準備1.1 phpunit1.2 テスト …

no image

エラーハンドリング

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

no image

composer.jsonのautoloadに関して

昔PHPでは他のファイルを読み込む時にはrequire_onceなどとすることが一般的でした。 で、クラスが増えてくるとこれがとんでもない量になってくるんですよね・・・ その時の代替案として_auto …

no image

heroku+cakePHPによるメール送信

herokuに作ったアプリでメール送信機能を実装したのでその時のメモを。 まずメール送信自体はmb_send_mailなどではなく、SendGridというアプリを使います。 使い方ですが、heroku …

no image

phpenv5.3+php-fpm

レガシーなプロジェクトではいまだにPHP5.3なんかを使うケースがあったりします。 これがCentOS6だったらyumでphp5.3とかだったらいいんですが、サーバーはCentOS7だったりするとなか …

アーカイブ