目次

  • 自己紹介
    • お仕事
    • 発表に絡んだ自己セールス
  • GD 概要
    • 入出力俯瞰図
    • 機能列挙
  • 実例サンプル
    • 画像形式変換
    • 描画
    • ピクセル単位の処理
  • バッドノウハウ(?)
  • ここからが本題
    • PHP5.5 の新機能

自己紹介

(発表への権威付けを意識する感じで)

  • お仕事は画像システムのお守り。
  • システムは主に ImageMagick を使うけど、画質検証や資料作成で GD を使う事が多いので今回はそっちのネタで。
  • ちょっぴりだけ仕事の話。(画像システムのお守りはやる事沢山あるんです)

GD 概要

PHP GD 拡張って何?

  • http://php.net/manual/ja/book.image.php
    PHP は、多くの異なるイメージ形式でイメージファイルを作成したり、
    操作 したりすることもできます。このイメージ形式には、
    GIF, PNG, JPEG, WBMP および XPM が含まれます。

入出力フロー

  • 画像ファイル、画像データと GD リソース(パレットとトゥルーカラー) 、操作、そして出力
    • 。。。辺りをまとめた図を作る。
  • パレット形式、ダイレクトカラー形式
  • PNG/JPEG/GIF の入出力対応
    • ファイルからでも PHP の変数(string型)でも読める
  • ピクセル単位の描画で画像を作成出来る。簡単な描画命令(line とか)もある。

使い方

  • 何より、gd は標準の extension なので導入が楽。
  • 最小サンプル

機能列挙

実例サンプル

画像の読み込み

画像を一から作成

応用

限界というか弱点

  • 透明度の段階が荒い。透明度が 0~127 でしかも逆方向。
  • 16ビットカラーを扱えない。8bit のみ…
  • めっちゃ重たい

時間があったら

  • タイルとか fillStyle 的なの使える。但し、透明度と併用できない。
  • 弱点克服のご提案 (俺々ビットマップ処理 extension)
  • imagecopymerge でアバター画像合成は… 過去の記録が見つからない…

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes