<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.utilspec.image.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'book.image.php',
    1 => 'GD',
    2 => '画像処理 (GD)',
  ),
  'up' => 
  array (
    0 => 'refs.utilspec.image.php',
    1 => '画像処理および作成',
  ),
  'prev' => 
  array (
    0 => 'function.read-exif-data.php',
    1 => 'read_exif_data',
  ),
  'next' => 
  array (
    0 => 'image.setup.php',
    1 => 'インストール/設定',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'reference/image/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.image.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.image" class="book">
 
 <h1 class="title">画像処理 (GD)</h1>
 
 
 
 <div id="intro.image" class="preface">
  <h1 class="title">はじめに</h1>
  <p class="para">
   PHPができることは、HTML出力を生成することだけではありません。PHP
   は、多くの異なるイメージ形式でイメージファイルを作成したり、操作
   したりすることもできます。このイメージ形式には、<abbr title="Graphic Interchange Format">GIF</abbr>, <abbr title="Portable Network Graphics">PNG</abbr>,
   <abbr title="Joint Photographic Experts Group">JPEG</abbr>, <abbr title="Wireless Bitmap">WBMP</abbr> および <abbr>XPM</abbr> が含まれます。
   さらに便利なことに、PHPはイメージストリームを直接ブラウザに出力することができます。
   イメージ関数を使用するには、PHP を
   <abbr title="Graphics Draw">GD</abbr> ライブラリとともにコンパイルしなければなりません。
   使用したいイメージ形式によっては、<abbr title="Graphics Draw">GD</abbr> と PHP
   以外に他のライブラリも必要となる可能性があります。
  </p>
  <p class="para">
   PHPのイメージ関数により
   <abbr title="Joint Photographic Experts Group">JPEG</abbr>、<abbr title="Graphic Interchange Format">GIF</abbr>、
   <abbr title="Portable Network Graphics">PNG</abbr>、<abbr title="Shockwave Flash">SWF</abbr>、
   <abbr title="Tagged Image File Format">TIFF</abbr>、<abbr>JPEG2000</abbr>イメージの
   大きさを知ることができます。
  </p>
  <p class="para">
    <a href="ref.exif.php" class="link">exif 拡張モジュール</a> を使用すると、
    <abbr title="Joint Photographic Experts Group">JPEG</abbr> や <abbr title="Tagged Image File Format">TIFF</abbr>
    画像のヘッダに保存された情報を扱うことができます。
    これにより、デジタルカメラが作成したメタデータを読み込むことができます。
    exif 関数は <abbr title="Graphics Draw">GD</abbr> ライブラリは必要ありません。
  </p>
  
  <p class="para">
   <blockquote class="note"><p><strong class="note">注意</strong>: 
    <span class="simpara">
     イメージの読み込み、書き込み、修正の機能を拡張するには、
     要求の節を呼んでください。
     デジタルカメラで撮影した画像のメタデータを読み込むには、
     上で説明した <a href="ref.exif.php" class="link">exif
     拡張モジュール</a> が必要です。
    </span>
   </p></blockquote>
   <blockquote class="note"><p><strong class="note">注意</strong>: 
    <span class="simpara">
      <span class="function"><a href="function.getimagesize.php" class="function">getimagesize()</a></span> 関数は、GD 拡張モジュールは必要ありません。
    </span>
   </p></blockquote>
   <div class="caution"><strong class="caution">警告</strong>
    <p class="simpara">
     バンドルされている GD ライブラリは、メモリを確保するのに
     Zend メモリマネージャーを使っていますが、
     システムにインストールされている GD ライブラリは使っていません。
     よって、後者には <a href="ini.core.php#ini.memory-limit" class="link">memory_limit</a> は適用されません。
    </p>
   </div>
  </p>

  <p class="para">
   GD はさまざまなフォーマットに対応しています。
   GD がサポートするフォーマットの一覧と、読み書きの対応状況を含めた注意をまとめました。
  </p>
  <p class="para">
   <table class="doctable table">
    <caption><strong>GD がサポートするフォーマット</strong></caption>
    
     <thead>
      <tr>
       <th>フォーマット</th>
       <th>読み込みのサポート</th>
       <th>書き込みのサポート</th>
       <th>注意</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>JPEG</td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td class="empty">&nbsp;</td>
      </tr>

      <tr>
       <td>PNG</td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td class="empty">&nbsp;</td>
      </tr>

      <tr>
       <td>GIF</td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td class="empty">&nbsp;</td>
      </tr>

      <tr>
       <td>XBM</td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td class="empty">&nbsp;</td>
      </tr>

      <tr>
       <td>XPM</td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td><strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong></td>
       <td class="empty">&nbsp;</td>
      </tr>

      <tr>
       <td>WBMP</td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td class="empty">&nbsp;</td>
      </tr>

      <tr>
       <td>WebP</td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td class="empty">&nbsp;</td>
      </tr>

      <tr>
       <td>BMP</td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td><strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong></td>
       <td>PHP 7.2.0 以降で利用可能です</td>
      </tr>

     </tbody>
    
   </table>

  </p>
  <p class="para">
   ほとんどのフォーマットは読み書きの両方に対応していますが、
   PHP をコンパイルするときにそのフォーマットのサポートを組み込んでいるとは限りません。
   GD でどのフォーマットを使えるようにコンパイルしたのかを調べるには
   <span class="function"><a href="function.gd-info.php" class="function">gd_info()</a></span> 関数を使いましょう。
   コンパイル時の設定については、インストール方法のページを参照ください。
  </p>
 </div>

 
 
 









 






 









 







 





 






<ul class="chunklist chunklist_book"><li><a href="image.setup.php">インストール/設定</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="image.requirements.php">要件</a></li><li><a href="image.installation.php">インストール手順</a></li><li><a href="image.configuration.php">実行時設定</a></li><li><a href="image.resources.php">リソース型</a></li></ul></li><li><a href="image.constants.php">定義済み定数</a></li><li><a href="image.examples.php">例</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="image.examples-png.php">PHP による PNG の生成</a></li><li><a href="image.examples-watermark.php">アルファチャネルを使用した、画像へのすかしの追加</a></li><li><a href="image.examples.merged-watermark.php">imagecopymerge による半透明なすかしの作成</a></li></ul></li><li><a href="ref.image.php">GD および Image 関数</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.gd-info.php">gd_info</a> — 現在インストールされているGDライブラリに関する情報を取得する</li><li><a href="function.getimagesize.php">getimagesize</a> — 画像の大きさを取得する</li><li><a href="function.getimagesizefromstring.php">getimagesizefromstring</a> — 画像の大きさを文字列から取得する</li><li><a href="function.image-type-to-extension.php">image_type_to_extension</a> — 画像形式からファイルの拡張子を取得する</li><li><a href="function.image-type-to-mime-type.php">image_type_to_mime_type</a> — getimagesize, exif_read_data, exif_thumbnail, exif_imagetypeから返される
   画像形式のMIMEタイプを取得する</li><li><a href="function.image2wbmp.php">image2wbmp</a> — 画像をブラウザあるいはファイルに出力する</li><li><a href="function.imageaffine.php">imageaffine</a> — 元の画像を、オプションのクリッピング領域を使ってアフィン変換した画像を返す</li><li><a href="function.imageaffinematrixconcat.php">imageaffinematrixconcat</a> — 二つのアフィン変換行列を連結する</li><li><a href="function.imageaffinematrixget.php">imageaffinematrixget</a> — アフィン変換行列を取得する</li><li><a href="function.imagealphablending.php">imagealphablending</a> — イメージのブレンドモードを設定する</li><li><a href="function.imageantialias.php">imageantialias</a> — アンチエイリアス機能を使用すべきかどうかを判断する</li><li><a href="function.imagearc.php">imagearc</a> — 部分楕円を描画する</li><li><a href="function.imageavif.php">imageavif</a> — 画像をブラウザあるいはファイルに出力する</li><li><a href="function.imagebmp.php">imagebmp</a> — ビットマップ画像をブラウザかファイルに出力する</li><li><a href="function.imagechar.php">imagechar</a> — 水平に文字を描画する</li><li><a href="function.imagecharup.php">imagecharup</a> — 垂直に文字を描画する</li><li><a href="function.imagecolorallocate.php">imagecolorallocate</a> — 画像で使用する色を作成する</li><li><a href="function.imagecolorallocatealpha.php">imagecolorallocatealpha</a> — 画像で使用する色を透過度を指定して作成する</li><li><a href="function.imagecolorat.php">imagecolorat</a> — ピクセルの色のインデックスを取得する</li><li><a href="function.imagecolorclosest.php">imagecolorclosest</a> — 指定した色に最も近い色のインデックスを取得する</li><li><a href="function.imagecolorclosestalpha.php">imagecolorclosestalpha</a> — 指定した色+アルファ値に最も近い色のインデックスを取得する</li><li><a href="function.imagecolorclosesthwb.php">imagecolorclosesthwb</a> — 色合い、白、黒を有する色のインデックスを得る</li><li><a href="function.imagecolordeallocate.php">imagecolordeallocate</a> — イメージの色リソースを開放する</li><li><a href="function.imagecolorexact.php">imagecolorexact</a> — 指定した色のインデックスを取得する</li><li><a href="function.imagecolorexactalpha.php">imagecolorexactalpha</a> — 指定した色+アルファ値のインデックスを取得する</li><li><a href="function.imagecolormatch.php">imagecolormatch</a> — パレットイメージの色を True カラーイメージに近づける</li><li><a href="function.imagecolorresolve.php">imagecolorresolve</a> — 指定した色または出来るだけ近い色のインデックスを得る</li><li><a href="function.imagecolorresolvealpha.php">imagecolorresolvealpha</a> — 指定した色+アルファ値または最も近い色のインデックスを取得する</li><li><a href="function.imagecolorset.php">imagecolorset</a> — 指定したパレットインデックスの色を設定する</li><li><a href="function.imagecolorsforindex.php">imagecolorsforindex</a> — カラーインデックスからカラーを取得する</li><li><a href="function.imagecolorstotal.php">imagecolorstotal</a> — 画像パレットの色数を検出する</li><li><a href="function.imagecolortransparent.php">imagecolortransparent</a> — 透明色を定義する</li><li><a href="function.imageconvolution.php">imageconvolution</a> — div および offset の係数を使用し、3x3 の畳み込み配列を適用する</li><li><a href="function.imagecopy.php">imagecopy</a> — 画像の一部をコピーする</li><li><a href="function.imagecopymerge.php">imagecopymerge</a> — イメージの一部をコピー、マージする</li><li><a href="function.imagecopymergegray.php">imagecopymergegray</a> — グレースケールでイメージの一部をコピー、マージする</li><li><a href="function.imagecopyresampled.php">imagecopyresampled</a> — 再サンプリングを行いイメージの一部をコピー、伸縮する</li><li><a href="function.imagecopyresized.php">imagecopyresized</a> — 画像の一部をコピーしサイズを変更する</li><li><a href="function.imagecreate.php">imagecreate</a> — パレットを使用する新規画像を作成する</li><li><a href="function.imagecreatefromavif.php">imagecreatefromavif</a> — 新しい画像をファイルあるいは URL から作成する</li><li><a href="function.imagecreatefrombmp.php">imagecreatefrombmp</a> — 新しい画像をファイルあるいは URL から作成する</li><li><a href="function.imagecreatefromgd.php">imagecreatefromgd</a> — GD ファイルまたは URL から新規イメージを生成する</li><li><a href="function.imagecreatefromgd2.php">imagecreatefromgd2</a> — GD2 ファイルまたは URL から新規イメージを生成する</li><li><a href="function.imagecreatefromgd2part.php">imagecreatefromgd2part</a> — GD2 ファイルまたは URL の指定した部分から新規イメージを生成する</li><li><a href="function.imagecreatefromgif.php">imagecreatefromgif</a> — 新しい画像をファイルあるいは URL から作成する</li><li><a href="function.imagecreatefromjpeg.php">imagecreatefromjpeg</a> — 新しい画像をファイルあるいは URL から作成する</li><li><a href="function.imagecreatefrompng.php">imagecreatefrompng</a> — 新しい画像をファイルあるいは URL から作成する</li><li><a href="function.imagecreatefromstring.php">imagecreatefromstring</a> — 文字列の中のイメージストリームから新規イメージを作成する</li><li><a href="function.imagecreatefromtga.php">imagecreatefromtga</a> — 新しい画像をファイルあるいは URL から作成する</li><li><a href="function.imagecreatefromwbmp.php">imagecreatefromwbmp</a> — 新しい画像をファイルあるいは URL から作成する</li><li><a href="function.imagecreatefromwebp.php">imagecreatefromwebp</a> — 新しい画像をファイルあるいは URL から作成する</li><li><a href="function.imagecreatefromxbm.php">imagecreatefromxbm</a> — 新しい画像をファイルあるいは URL から作成する</li><li><a href="function.imagecreatefromxpm.php">imagecreatefromxpm</a> — 新しい画像をファイルあるいは URL から作成する</li><li><a href="function.imagecreatetruecolor.php">imagecreatetruecolor</a> — TrueColor イメージを新規に作成する</li><li><a href="function.imagecrop.php">imagecrop</a> — 指定した矩形に画像をクロップする</li><li><a href="function.imagecropauto.php">imagecropauto</a> — 利用可能なモードを指定して、画像を自動的にクロップする</li><li><a href="function.imagedashedline.php">imagedashedline</a> — 破線を描画する</li><li><a href="function.imagedestroy.php">imagedestroy</a> — 画像を破棄する</li><li><a href="function.imageellipse.php">imageellipse</a> — 楕円を描画する</li><li><a href="function.imagefill.php">imagefill</a> — 塗り潰す</li><li><a href="function.imagefilledarc.php">imagefilledarc</a> — 楕円弧を描画し、塗りつぶす</li><li><a href="function.imagefilledellipse.php">imagefilledellipse</a> — 塗りつぶされた楕円を描画する</li><li><a href="function.imagefilledpolygon.php">imagefilledpolygon</a> — 塗りつぶした多角形を描画する</li><li><a href="function.imagefilledrectangle.php">imagefilledrectangle</a> — 塗りつぶした矩形を描画する</li><li><a href="function.imagefilltoborder.php">imagefilltoborder</a> — 特定色で塗りつぶす</li><li><a href="function.imagefilter.php">imagefilter</a> — 画像にフィルタを適用する</li><li><a href="function.imageflip.php">imageflip</a> — 指定したモードで画像を反転させる</li><li><a href="function.imagefontheight.php">imagefontheight</a> — フォントの高さを取得する</li><li><a href="function.imagefontwidth.php">imagefontwidth</a> — フォントの幅を取得する</li><li><a href="function.imageftbbox.php">imageftbbox</a> — freetype2 によるフォントを用いたテキストを囲む箱を取得する</li><li><a href="function.imagefttext.php">imagefttext</a> — FreeType 2 によるフォントを用いてイメージにテキストを描画する</li><li><a href="function.imagegammacorrect.php">imagegammacorrect</a> — GD イメージにガンマ補正を適用する</li><li><a href="function.imagegd.php">imagegd</a> — GD イメージをブラウザまたはファイルに出力する</li><li><a href="function.imagegd2.php">imagegd2</a> — GD2 イメージをブラウザまたはファイルに出力する</li><li><a href="function.imagegetclip.php">imagegetclip</a> — 長方形を切り取り、画像として取得する</li><li><a href="function.imagegetinterpolation.php">imagegetinterpolation</a> — 補間方法を取得する</li><li><a href="function.imagegif.php">imagegif</a> — 画像をブラウザあるいはファイルに出力する</li><li><a href="function.imagegrabscreen.php">imagegrabscreen</a> — 画面全体をキャプチャする</li><li><a href="function.imagegrabwindow.php">imagegrabwindow</a> — ウィンドウをキャプチャする</li><li><a href="function.imageinterlace.php">imageinterlace</a> — インターレースを有効もしくは無効にする</li><li><a href="function.imageistruecolor.php">imageistruecolor</a> — 画像が truecolor かどうか調べる</li><li><a href="function.imagejpeg.php">imagejpeg</a> — 画像をブラウザあるいはファイルに出力する</li><li><a href="function.imagelayereffect.php">imagelayereffect</a> — アルファブレンディングフラグを設定し、レイヤ効果を使用する</li><li><a href="function.imageline.php">imageline</a> — 直線を描画する</li><li><a href="function.imageloadfont.php">imageloadfont</a> — 新しいフォントを読み込む</li><li><a href="function.imageopenpolygon.php">imageopenpolygon</a> — オープンポリゴンを描画する</li><li><a href="function.imagepalettecopy.php">imagepalettecopy</a> — あるイメージから他のイメージにパレットをコピーする</li><li><a href="function.imagepalettetotruecolor.php">imagepalettetotruecolor</a> — パレット形式の画像を true color に変換する</li><li><a href="function.imagepng.php">imagepng</a> — PNG イメージをブラウザまたはファイルに出力する</li><li><a href="function.imagepolygon.php">imagepolygon</a> — 多角形を描画する</li><li><a href="function.imagerectangle.php">imagerectangle</a> — 矩形を描画する</li><li><a href="function.imageresolution.php">imageresolution</a> — 画像の解像度を取得/設定する</li><li><a href="function.imagerotate.php">imagerotate</a> — 指定された角度で画像を回転する</li><li><a href="function.imagesavealpha.php">imagesavealpha</a> — 画像を保存する際に、完全なアルファチャネル情報を保存するかどうかを指定する</li><li><a href="function.imagescale.php">imagescale</a> — 幅と高さを指定して、画像の縮尺を変更する</li><li><a href="function.imagesetbrush.php">imagesetbrush</a> — 線の描画用にブラシイメージを設定する</li><li><a href="function.imagesetclip.php">imagesetclip</a> — 切り取る長方形を設定する</li><li><a href="function.imagesetinterpolation.php">imagesetinterpolation</a> — 補間方法を設定する</li><li><a href="function.imagesetpixel.php">imagesetpixel</a> — 点を生成する</li><li><a href="function.imagesetstyle.php">imagesetstyle</a> — 線描画用のスタイルを設定する</li><li><a href="function.imagesetthickness.php">imagesetthickness</a> — 線描画用の線幅を設定する</li><li><a href="function.imagesettile.php">imagesettile</a> — 塗りつぶし用のイメージを設定する</li><li><a href="function.imagestring.php">imagestring</a> — 文字列を水平に描画する</li><li><a href="function.imagestringup.php">imagestringup</a> — 文字列を垂直に描画する</li><li><a href="function.imagesx.php">imagesx</a> — 画像の幅を取得する</li><li><a href="function.imagesy.php">imagesy</a> — 画像の高さを取得する</li><li><a href="function.imagetruecolortopalette.php">imagetruecolortopalette</a> — TrueColor イメージをパレットイメージに変換する</li><li><a href="function.imagettfbbox.php">imagettfbbox</a> — TypeType フォントを使用したテキストの bounding box を生成する</li><li><a href="function.imagettftext.php">imagettftext</a> — TrueType フォントを使用してテキストを画像に書き込む</li><li><a href="function.imagetypes.php">imagetypes</a> — この PHP がサポートしている画像形式を返す</li><li><a href="function.imagewbmp.php">imagewbmp</a> — 画像をブラウザあるいはファイルに出力する</li><li><a href="function.imagewebp.php">imagewebp</a> — WebP 画像をブラウザあるいはファイルに出力する</li><li><a href="function.imagexbm.php">imagexbm</a> — XBM 画像をブラウザあるいはファイルに出力する</li><li><a href="function.iptcembed.php">iptcembed</a> — バイナリ IPTC データを JPEG イメージに埋めこむ</li><li><a href="function.iptcparse.php">iptcparse</a> — バイナリの IPTC ブロックのタグをパースする</li><li><a href="function.jpeg2wbmp.php">jpeg2wbmp</a> — JPEG画像をWBMP画像に変換する</li><li><a href="function.png2wbmp.php">png2wbmp</a> — PNG画像をWBMP画像に変換する</li></ul></li><li><a href="class.gdimage.php">GdImage</a> — GdImage クラス</li><li><a href="class.gdfont.php">GdFont</a> — GdFont クラス</li></ul></div><?php manual_footer($setup); ?>