目次
- 自己紹介
- GD 概要
- 実例サンプル
- バッドノウハウ(?)
- ここからが本題
自己紹介
(発表への権威付けを意識する感じで)
- お仕事は画像システムのお守り。
- システムは主に ImageMagick を使うけど、画質検証や資料作成で GD を使う事が多いので今回はそっちのネタで。
- ちょっぴりだけ仕事の話。(画像システムのお守りはやる事沢山あるんです)
GD 概要
PHP GD 拡張って何?
入出力フロー
- 画像ファイル、画像データと GD リソース(パレットとトゥルーカラー) 、操作、そして出力
- パレット形式、ダイレクトカラー形式
- PNG/JPEG/GIF の入出力対応
- ファイルからでも PHP の変数(string型)でも読める
- ピクセル単位の描画で画像を作成出来る。簡単な描画命令(line とか)もある。
使い方
- 何より、gd は標準の extension なので導入が楽。
- 最小サンプル
機能列挙
実例サンプル
画像の読み込み
- PHP で画像比較
- PHP で画像比較(2) 差分抽出
- colorcount.php
画像を一から作成
- ビットマップ画像フォーマット毎のテスト素材
- 画像ファイルのサイズ範囲
- 色の分布を3Dで表示するJavaScriptを改造
応用
- Dot 絵化 (アンチエイリアシング無しの拡大+α)
- PHP で 3D plot
限界というか弱点
- 透明度の段階が荒い。透明度が 0~127 でしかも逆方向。
- 16ビットカラーを扱えない。8bit のみ…
- めっちゃ重たい
時間があったら
- タイルとか fillStyle 的なの使える。但し、透明度と併用できない。
- 弱点克服のご提案 (俺々ビットマップ処理 extension)
- imagecopymerge でアバター画像合成は… 過去の記録が見つからない…
|