62
PHPで画像処理 のいろいろ 間違ってたらごめんなさい

Fukuoka.php 第一回勉強会 LTスライド

Embed Size (px)

DESCRIPTION

PHPでやった画像処理のいろいろのお話です。間違っていたらごめんなさい…!

Citation preview

Page 1: Fukuoka.php 第一回勉強会 LTスライド

PHPで画像処理のいろいろ

間違ってたらごめんなさい

Page 2: Fukuoka.php 第一回勉強会 LTスライド

自己紹介山口 有由希や ま ぐ ち ゆ う き

@yuki930

フロッグマンオフィス所属/Webデザイナー

Page 3: Fukuoka.php 第一回勉強会 LTスライド

個人のサイトもいろいろやってます。

Page 4: Fukuoka.php 第一回勉強会 LTスライド

PHP in Fukuokaで

勉強しました

Page 5: Fukuoka.php 第一回勉強会 LTスライド

本日の流れ

✦PHPの画像処理ライブラリ✦画像処理に使えそうな関数色々✦実際にやってみた✦まとめ

Page 6: Fukuoka.php 第一回勉強会 LTスライド

PHPの画像処理ライブラリ

Page 7: Fukuoka.php 第一回勉強会 LTスライド

GD

ImageMagick

Imagine

Gmagick

なんかいろいろあるらしい…

結局どれがいいの><

Page 8: Fukuoka.php 第一回勉強会 LTスライド

やりたいこと次第でー速度がーうんぬん

Page 9: Fukuoka.php 第一回勉強会 LTスライド

ソーシャルゲームな画像合成のススメ ~ GDとImagickの比較とともにhttp://tech.voyagegroup.com/archives/3732640.html

PHPで行う簡単画像リサイズと速度検証http://blog.asial.co.jp/837

Page 10: Fukuoka.php 第一回勉強会 LTスライド

とりあえず

やりたいことできればいいんで、

私はGDにしますね!

Page 11: Fukuoka.php 第一回勉強会 LTスライド

PHPの画像処理に使えそうな関数

Page 12: Fukuoka.php 第一回勉強会 LTスライド

image関数で

ググる

Page 13: Fukuoka.php 第一回勉強会 LTスライド
Page 14: Fukuoka.php 第一回勉強会 LTスライド
Page 15: Fukuoka.php 第一回勉強会 LTスライド
Page 16: Fukuoka.php 第一回勉強会 LTスライド
Page 17: Fukuoka.php 第一回勉強会 LTスライド
Page 18: Fukuoka.php 第一回勉強会 LTスライド

すんごいいっぱいある!!

Page 19: Fukuoka.php 第一回勉強会 LTスライド

実際にやってみた

Page 20: Fukuoka.php 第一回勉強会 LTスライド

画像を解像度に合わせてリサイズさせたい

Page 21: Fukuoka.php 第一回勉強会 LTスライド
Page 22: Fukuoka.php 第一回勉強会 LTスライド

画面サイズを取得し、縦と横の比率を計算、隙間ができないように元画像をリサイズさせる

Page 23: Fukuoka.php 第一回勉強会 LTスライド
Page 24: Fukuoka.php 第一回勉強会 LTスライド
Page 25: Fukuoka.php 第一回勉強会 LTスライド

imagecreatefromjpeg新しい画像をファイルあるいは

URL から作成する

Page 26: Fukuoka.php 第一回勉強会 LTスライド

imagecreatetruecolorTrueColor イメージを新規に作成する

Page 27: Fukuoka.php 第一回勉強会 LTスライド

imagecopyresampled再サンプリングを行い

イメージの一部をコピー、伸縮する

Page 28: Fukuoka.php 第一回勉強会 LTスライド
Page 29: Fukuoka.php 第一回勉強会 LTスライド

画像にカレンダーを表示させたい

Page 30: Fukuoka.php 第一回勉強会 LTスライド

カレンダー画像を

毎月作るのは大変…

Page 31: Fukuoka.php 第一回勉強会 LTスライド

祝日の判定をして出力する座標を計算

適切な色でテキストを打ち込めば一生使える!!

Page 32: Fukuoka.php 第一回勉強会 LTスライド

まず祝日の判定

Page 33: Fukuoka.php 第一回勉強会 LTスライド

祝日判定ロジックについて研究されてます

http://www.h3.dion.ne.jp/̃sakatsu/

holiday_logic.htm

Page 34: Fukuoka.php 第一回勉強会 LTスライド

このあたりを参考に

ロジックを作成

Page 35: Fukuoka.php 第一回勉強会 LTスライド
Page 36: Fukuoka.php 第一回勉強会 LTスライド

imagettftext関数

指定した位置に

テキストを描画

Page 37: Fukuoka.php 第一回勉強会 LTスライド
Page 38: Fukuoka.php 第一回勉強会 LTスライド
Page 39: Fukuoka.php 第一回勉強会 LTスライド

画像の色を調べて似た色画像検索を作りたい

Page 40: Fukuoka.php 第一回勉強会 LTスライド
Page 41: Fukuoka.php 第一回勉強会 LTスライド
Page 42: Fukuoka.php 第一回勉強会 LTスライド

imagecoloratimage で指定された画像上の特定位置に

あるピクセルの色のインデックスを返す

Page 43: Fukuoka.php 第一回勉強会 LTスライド
Page 44: Fukuoka.php 第一回勉強会 LTスライド

が、しかし。

Page 45: Fukuoka.php 第一回勉強会 LTスライド
Page 46: Fukuoka.php 第一回勉強会 LTスライド

うまくいかなかった…

Page 47: Fukuoka.php 第一回勉強会 LTスライド

ので次の作戦

Page 48: Fukuoka.php 第一回勉強会 LTスライド
Page 49: Fukuoka.php 第一回勉強会 LTスライド
Page 50: Fukuoka.php 第一回勉強会 LTスライド

成功したかにみえたが…

Page 51: Fukuoka.php 第一回勉強会 LTスライド
Page 52: Fukuoka.php 第一回勉強会 LTスライド
Page 53: Fukuoka.php 第一回勉強会 LTスライド

似た色のグループ化をしない

と青っぽい色だけでも何千色

もあって似た色探せない!

Page 54: Fukuoka.php 第一回勉強会 LTスライド
Page 55: Fukuoka.php 第一回勉強会 LTスライド
Page 56: Fukuoka.php 第一回勉強会 LTスライド

いろいろ実験

Page 57: Fukuoka.php 第一回勉強会 LTスライド
Page 58: Fukuoka.php 第一回勉強会 LTスライド

PHOTO STOCKERに似た色が使われている画像が

簡単に検索できる機能を実装してみました!

http://blog.v-colors.com/photo-stocker-color-

search.html

詳しくはブログ見てね

Page 59: Fukuoka.php 第一回勉強会 LTスライド
Page 60: Fukuoka.php 第一回勉強会 LTスライド

まとめ

Page 61: Fukuoka.php 第一回勉強会 LTスライド

アイデア次第で結構使えるimage関数ありがとう!

Page 62: Fukuoka.php 第一回勉強会 LTスライド

ありがとうございました!

@yuki930