RubyMagick - ImageMagickをRubyから使うための拡張ライブラリ。

$Id: manual.rd,v 1.11 2001/08/02 20:31:09 tam Exp $

モジュール/クラス構成

モジュール Magick

各種クラスやモジュールを定義したモジュール。

本モジュールの下には次のようなモジュールが定義されています。これらのモ ジュールでは、Magick::Imageクラスのインタンスメソッドで引数とな る各種オプションを提供する定数が、まとめられています。

クラス Magick::Magick_c_Image

ImageMagick が提供するAPIを直接利用するクラス。このクラスは今のところ、 ImageMagickのできるだけ透過的なwrapperとなるように設計されています。 これより派生した Magick::Image を使うようにして下さい。

クラス Magick::Image

イメージの生成や操作、出力など行う、RubyMagickの主要クラス。

クラス Magick::Drawable

Magick::Image#draw メソッドで描画される基本図形を定義したクラス 群がまとめられているモジュール。これらの基本図形は、ImageMagickで利用 可能なプリミティブに対応しています。

Magick::Image

クラスメソッド

インスタンス生成

Magick::Image.new()

Magick::Imageオブジェクトを初期化するだけのクラスメソッド。 イメージの実体はこの時点ではオブジェクト内に存在しないので、 次の2つの方法のどちらかを用いてイメージを読みこまなくてはなりません。

Magick::Image.new("filename1" [, "filename2", ...])

引数で指定したファイル名からMagick::Imageオブジェクトを作成します。 複数のファイル名を指定した場合には、それらのイメージがシーケンスとして 単一のMagick::Imageオブジェクト内に取り込まれます。

イメージ情報の取得

Magick::Image.ping("filename")

filenameで表わされるファイル名から、イメージの高さ、幅、サイズ(byte)、イメージ形式 を返します。イメージ形式は文字列("GIF"など)で返されます。このメソッドはそれら4つの属性 が判明次第読みこみを終了するので、ファイルに格納されたイメージの大雑把な情報を手っ取り早く 把握するのに便利なメソッドです。

メソッド

イメージの読み込み

Magick::Image#read("filename1" [, "filename2", ...])

引数で指定されたイメージファイルへのパス(複数可)からイメージを読み込み、 操作できるようにします。複数ファイルが指定されたときには、 イメージシーケンスとして扱われるようになります。

なお、ImageMagickが提供する以下の特殊な引数を文字列として与えることも可能です。

"NULL:<color name>"

引数に"NULL"に続けて色の名前を指定すると、指定した色を背景色とする、 イメージが新規に作成されます。 先立って Magick::Image#setによってイメージのサイズ等の属性 を指定しておけば、その場合に限って、指定しておいた属性をもつイメージが 新規に作成されます。

"logo:"

ImageMagick のロゴが読み込まれます。

"plasma:#xxxxxx-#xxxxxx"
"gradient:#xxxxxx-#xxxxxx"

イメージシーケンスの扱い

イメージシーケンスを作る際に、Magick::Image#read で 複数のイメージを読みこむ以外に、既存のイメージオブジェクト に新たに別のイメージオブジェクトが保持するイメージを追加する方法が あります。

Magick::Image#push(image)

追加されるのは、imageオブジェクトが最初に読み込んだイメージです。

このようにしてイメージシーケンスが作成されたとき、 内部ではImageMagickのImage構造体によって、追加された順にリストで 保持されています(最初に作成または読み込まれたイメージは0番目です)。

RubyMagickでは、以下のメソッドによって個々のイメージを参照することが できます。参照されたイメージには以下の全てのメソッドを適用することが 可能です。

また、複数のシーケンスを保持するイメージオブジェクトに、 以下の方法を用いずにメソッド起動した場合には、0番目(すなわち、最初に 作成または読みこまれたイメージ)のオブジェクトがそのメソッドを起動します。

Magick::Image#at(pos) { |im| block... }

イメージシーケンス中のpos番目のイメージを取り出して ブロック引数として渡し、与えられたblockを実行します。

Magick::Image#each { |im| block... }

イメージシーケンスの全てのイメージオブジェクトに対して与えられた blockを実行します。

イメージ属性の取得および設定

RubyMagick では ImageMagick で用いられるImage構造体、 ImageInfo構造体のメンバの多くに直接アクセスすることが可能です。 これらのメンバをRubyMagickでは「イメージ属性」とひとくくりに表現することにします。

RubyMagick ではMagick::Image#get および Magick::Image#set によって、これらのイメージ属性を取得および設定することができます。

フォーマットは以下の通りです。

Magick::Image#get("attr1" [, "attr2", ...])

文字列attr1attr2で示されるイメージ属性の値を取得します。 複数の属性が指定されたときは、対応する順に整列した属性の値の配列を返します。

Magick::Image#set({"attr1"=>value1 [, "attr2"=>value2, ...]})

文字列attr1attr2で示されるイメージ属性をハッシュによって 設定します。

取得および設定可能なイメージ属性

"adjoin"

set({"adjoin"=>bool})

true を指定すると複数イメージ(イメージシーケンス)を1つにまとめます。 false を指定すると、そのまま扱います。

get("adjoin") => bool

"antialias"

set({"antialias"=>bool})

アンチエイリアスを行うかどうか、trueまたはfalseによって指定します。

get("antialias") => bool

"background"

set({"background"=>str})

背景色を文字列で与えます。文字列は"#XXXXXX"のような16進表記または、 ImageMagickで利用可能な色名です。

get("background") => str

"赤, 青, 黄, 透明度(opacity)"の順で並ぶカンマ区切の数値の列を 文字列で返します。

"base-column"

get("base-column") => num

原イメージの幅を返します。

"base-filename"

get("base-filename") => str

初めに読み込んだイメージファイルの名前を返します。

"blue-primary"

set({"blue-primary"=>"float, float"})

青原色点の色度を指定します。

get("blue-primary") => str

"bordercolor"

set({"bordercolor"=>str})

境界色を文字列で指定します。

get("bordercolor") => str

"赤, 青, 黄, 透明度(opacity)"の順で並ぶカンマ区切の数値の列を 文字列で返します。

"cache-threshold"

set({"cache-threshold"=>num})

イメージキャッシュサイズを指定します。単位はキロバイトです。

get("cache-threshold") => num

"class"

get("class") => num

保存クラスを数値で返します。

"colormap"

set({"colormap[i]"=>str})

イメージのi番目の色をstrで指定した色にします。strは ImageMagickで利用可能な色名、または"r,g,b"(r,g,bはそれぞれ整数)で指定 することができます。

get("colormap[i]") => str

"colors"

get("colors") => num

イメージの色数を返します。 Magick::Image#number_colorsと同一の機能です。

"colorspace"

set({"colorspace"=>ColorspaceType})

色空間を、Magick::ColorspaceTypeモジュール以下で定義されている 定数によって指定します。

"columns"

get("columns") => num

現在のイメージの幅を返します。

"comment"

get("comment") => str

イメージのコメントを返します。

"compress"

set({"compress"=>CompressType})

圧縮方法を、Magick::CompressTypeモジュールで定義されている 定数によって指定します。

get("compress") => num

"delay"

set({"delay"=>num})

Magick::Image#animateを用いるに先立って、各イメージの次の画像への 遅延時間を非負の整数によって指定します。単位はミリ秒です。

get("delay") => num

"density"

set({"density"=>str})

イメージ解像度を、ImageMagickで利用できるジオメトリ文字列によって 指定します。

get("density") => str

"depth"

set({"depth"=>num})

イメージの色深度を、8または16で指定します。

get("density")

"directory"

get("directory") => str

Magick::Image#montage でモンタージュイメージを作成するための ファイルが格納されたディレクトリを返します。

"display"

set({"display"=>str})

環境変数DISPLAYに相当する文字列を指定します。

"dispose"

set({"dispose"=>0 or 1 or 2 or 3})

GIFアニメーションのディスポーザルの方法を0から3までの数値で指定します。

get("dispose") => num

"dither"

set({"dither"=>bool})

ディザ化をイメージに適用するかどうか、 trueまたはfalseで指定します。

get("dither") => bool

"error"

get("error") => float

減色に伴なうピクセル1つあたりの平均誤差を返します。

"file"

set({"file"=>io})

Magick::Image#writeでの出力先をIOオブジェクトによって指定します。

"filename"

set({"filename"=>str}

Magick::Image#writeでの出力先をファイル名を表す文字列によって指定します。

get("filename") => str

"filesize"

get("filesize") => num

イメージファイルのバイト数を返します。

"filter"

set({"fileter"=>FileterType})

フィルタータイプをMagick::FileterTypeモジュールで定義される 定数によって指定します。

get("filter") => num

"font"

set({"font"=>str})

文字列描画に際して用いられるフォントへのパスを文字列で指定します。

get("font") => str

"format"

get("format") => str

イメージのフォーマット(PNG, GIF等)を返します。

"fuzz"

set({"fuzz"=>num})

numピクセル以下の色は同一であるとみなされます。

get("fuzz") => num

"gamma"

get("gamma") => float

イメージのガンマ値を返します。

"geometry"

set({"geometry"=> str})

イメージのオフセット付きの幅や高さを、 ジオメトリを表す文字列で指定します。

get("geometry") => str

"green-primary"

set({"green-primary"=>"float, float"})

緑原色点の色度を設定します。

get("green-primary") => str

"height"

get("height") => num

イメージの高さを返します。

"index"

set({"index[x,y]"=>num})

イメージ上の点(x,y)のカラーインデクスを、numで指定した インデクスに設定します。

get("index[x,y]") => str

"interlace"

set({"interlace"=>InterlaceType})

インタレースのタイプをMagick::InterlaceTypeモジュールで定義される 定数によって指定します。

get("interlace") => num

"iterations"

set({"iterations"=>num})

Magick::Image#animateを用いるに先立って、アニメーションが 繰り返される回数を指定します。-1を指定すると無限に繰り返します。

get("iterations") => num

"label"

set({"label"=>str})

イメージラベルを文字列で指定します。

get("label") => str

"loop"

set({"loop"=>num})

"iteration"の別名です。

get("loop") => num

"magick"

set({"magick"=>str})

イメージフォーマット(PNG、GIF等)を文字列によって指定します。

get("magick") => str

"matte"

set({"matte"=>bool})

"mattecolor"で指定された色を透明にするならばtrueを与えます。

get("matte")

イメージが透明色をもつ場合true、そうでない場合falseを 返します。

"mattecolor"

set({"mattecolor"=>str})

イメージの透明色を文字列の色名によって指定します。

get("mattercolor") => str

透明色について"r,g,b,o" という形式の文字列で返します。

"maximum-error"

get("maximum-error") => float

減色に伴なう正規化された最大誤差を返します。

"mean-error"

get("maximum-error") => float

減色に伴なう正規化平均誤差を返します。

"montage"

get("montage") => str

Magick::Image#montage を用いた後、モンタージュイメージ のオフセットおよびサイズをジオメトリを表す文字列で返します。

"monochrome"

set({"monochrome"=>bool})

イメージをモノクロームにする場合、trueを指定します。

get("monochrome") => bool

"page"

set({"page"=>str})

ポストスクリプトで出力する際のサイズをジオメトリを表す文字列で指定します。

get("page") =>str

"pen"

set({"pen"=>str})

描画する際のペンの色を色名を表す文字列で指定します。

"pixel"

set({"pixel[x,y]"=>"r,g,b,o"})

イメージの(x,y)に位置するピクセルの色と透明度を "赤,緑,青,透明度"という文字列で与えます。各要素は非負の整数です。

get("pixel") => str

"pointsize"

set({"pointsize"=>num})

文字列描画の際のフォントのポイントサイズを指定します。

get("pointsize") => num

"quality"

set({"quality"=>num})

イメージの圧縮水準を0から100までの整数値で指定します。

get("quality") => num

"red-primary"

set({"red-primary"}=>"float, float"})
get("red-primary") => str

"rendering-intent"

set({"rendering-intent"=>RenderingIntent})

Magick::RenderingIntentモジュールで定義される定数によって、 レンダリングモデルを指定します。

get("rendering-intent") => num

"rows"

get("rows") => num

イメージの高さを返します。

"scene"

set({"scene"=>num})

イメージがシーケンスの何番目であるか指定します。

get("scene") => num

"server"

"display" の別名です。

"signature"

get("signature") => str

MD5公開鍵署名を返します。

"size"

set({"size"=>geom_str})

イメージサイズをImageMagickで利用可能なジオメトリ指定によって設定します。

get("size") => str

"subimage"

(未記述)

"subrange"

(未記述)

"taint"

get("taint") => bool

イメージが汚染されているかどうかを返します。

"texture"

set({"texture"=>filename})

背景となるイメージをファイル名で指定します。

get("texture") => str

"tile"

set("tile"=>filename)

背景部でタイルされるイメージをファイル名で指定します。

get("tile") => str

"type"

get("type") => num

イメージの色タイプを返します。

"units"

set("units"=>ResolutionType)

解像度の単位をMagick::ResolutionTypeモジュールで定義される 定数によって指定します。

get("units") => str

"verbose"

set("verbose"=>bool)

trueを指定すると、イメージに関する詳細な情報が出力されます。

get("verbose") => bool

"view"

get("view") => str

FlashPix の Viewing parameterを返します。

"width"

get("width") => num

イメージの横幅を返します。

"x-resolution"

get("x-resolution") => num

水平解像度を返します。

"y-resolution"

get("y-resolution") => num

垂直解像度を返します。

イメージの出力

Magick::Image#write({"attr1"=>val, ...})

ハッシュで指定されたイメージ属性を用いてイメージを出力します。

イメージ効果

Magick::Image#add_noise(NoiseType)

Magick::NoiseTypeで定義される定数を指定することによって、 対応するノイズをイメージに施します。

Magick::Image#blur(radius, sigma)

ぼかし(blur)効果を与えます。

Magick::Image#colorize(opacity, color)

(モノクロイメージ等を)カラー化します。不透明度を表すopacityには 0から100までの数値を文字列として与えて下さい。

Magick::Image#convolve(coef)

配列で与えられたConvolution Kernelをイメージに適用します。

Magick::Image#despeckle

イメージ内に存在するかもしれない斑点を消去します。

Magick::Image#edge(radius)

近接するradius内のエッジを際立たせます。

Magick::Image#emboss(radius, sigma)

近接するradius内のピクセルのエッジを標準偏差sigmaで強調します。

Magick::Image#enhance

イメージ内のノイズを削減します。

Magick::Image#gaussian_blur(radius, sigma)

Gaussianにパラメータradiussigmaを与えることによって、 イメージのピクセルをぼかします。

Magick::Image#implode(factor)

0から1までのfactorによって、イメージに破裂させたかのような効果を 与えます。

Magick::Image#median_filter(radius)

各ピクセルは近接するradius内のピクセルの色の中央値によって 置換されます。

Magick::Image#morph(frames)
Magick::Image#mortion_blur(radius, sigma, amount)

Magick::Image#blurMagick::Image#gaussian_blurと類似 していますが、amountによって移動しているようなぼかし効果を与えます。

Magick::Image#oilpaint(radius)

近接するピクセルの範囲を指定することによって、 油絵のような効果を与えます。

Magick::Image#plasma(segment, attenuate, depth)

イメージをプラズマ・フラクタル化します。segmentには、 プラズマ・フラクタルを適用する領域を4要素の配列で指定して下さい。

Magick::Image#reduce_noise(radius)

近接するradius内のピクセルを対象にノイズ除去フィルターを適用します。

Magick::Image#shade(color_shading, azimuth, elevation)

方位 azimuth、仰角elevationの光源から照らされたときの 陰影効果を与えます。color_shadingtrueとすると、 イメージのRGB要素が陰影化されます。

Magick::Image#sharpen(radius, sigma)

原イメージに対して Laplacian convolution kernel を適用することによって、 鋭利な効果を持たせます。Kernel のパラメータはradiussigma で指定します。

Magick::Image#solarize(factor)

factorに従って、イメージに露光効果を与えます。

Magick::Image#spread(amount)

近接するamountの範囲のピクセルをランダムに置換します。

Magick::Image#stegano(image)

イメージにimageの透しを入れます。

Magick::Image#stereo(offset_image)

一方が青、一方が赤の眼鏡で見ると立体化して見えるようなイメージを作成 します。

Magick::Image#swirl(degree)

指定した角度degreeで渦巻き効果を与えます。

Magick::Image#threshold(val)

各ピクセルの強度がvalより大きいときには、 その強度はイメージの最大強度に揃えられます。逆の場合には イメージの最少強度に揃えられます。

Magick::Image#transparent(color, opacity)

イメージ中のcolorを透明色にします。完全に透明にする場合は opacityMagick::TransparentOpacity を設定して下さい。

Magick::Image#unsharp_mask(radius, sigma, amount, threshold)
Magick::Image#wave(amplitude, wave_length)

イメージを振幅amlitude、周波数wave_lengthのサインカーブ の形状に変形します。

イメージの変形

Magick::Image#chop(geom)

イメージをgeomで指定した範囲に切り落します。

Magick::Image#coalesce

イメージシーケンスを1つのイメージに合体します。

Magick::Image#crop(geom)

イメージをgeomで指定した領域で切り取ります。

Magick::Image#deconstruct

GIFアニメーションイメージを、それぞれのイメージフレームに分解します。

Magick::Image#flatten

(未実装)

Magick::Image#flip

イメージを垂直方向に対称に反転します。

Magick::Image#flop

イメージを水平方向に対称に反転します。

Magick::Image#profile(profname, filename)

イメージのICM,IPTCプロファイルの追加または削除を行います。 profnameが指定された場合、指定されたプロファイルを削除します。 profnameに'*'が指定された場合、イメージの全てのプロファイルを 削除します。

filenameが指定された場合、そのファイルに格納されているプロファイル をイメージに追加します。

それぞれについて、何も指定しないときにはnilを与えて下さい。

Magick::Image#roll(offset_x, offset_y)

イメージを(offset_x,offset_y)だけ移動し、空いた部分に 折り返した部分を描きます。

Magick::Image#shave(geom)

(未実装)

Magick::Image#transform(geom, crop_geom)

geomに従って、イメージを拡大または縮小します。 crop_geomが与えられた場合には、原イメージを、 それで示される領域をgeomに従って拡大また縮小した イメージに置換します。

Magick::Image#magnify

イメージを縦横2倍に拡大します。

Magick::Image#minify

イメージを縦横1/2に縮小します。

Magick::Image#resize(geom, FilterType, blur)

イメージをgeomで指定されたサイズへ変更します。変更の際に 適用するフィルターをMagick::FilterTypeで定義される定数で、 ぼかしの程度をblurで指定します。

Magick::Image#sample(geom)

イメージをgeomで指定されたサイズにスケーリングします。

Magick::Image#scale(geom)

イメージをgeomで指定されたサイズにスケーリングします。 Magick::Image#sampleと類似しますが、スケーリングのアルゴリズムが 異なります。

Magick::Image#zoom(geom)

イメージをgeomで指定されたサイズにスケーリングします。 Magick::Image#sampleMagick::Image#scaleと類似しますが、 スケーリングのアルゴリズムが異なります。

イメージへ基本図形を描画する

Magick::Image#annotate()
Magick::Image#draw(drawable1 [,drawable2, ...])

ImageMagickでプリミティブとして与えられる基本図形は、 Magick::Drawableモジュール以下の幾つかのクラスとして定義されています。 これらを用いて、イメージ上に描画を行います。

モンタージュイメージの作成

Magick::Image#montage({"key1"=>val1 [,"key2"=>val2, ...])

ハッシュで与えられたオプションを元に、イメージシーケンスを 1つのモンタージュ画像に統合します。利用可能なオプションは、 "オプション名"=>値の組で与えます。

利用可能なオプション

"filename"=>String

モンタージュイメージのファイル名を指定します。

"geometry"=>String (see <URL:misc.html>)

タイルされるイメージの最大サイズと境界サイズを与えます。

"tile"=>String (see <URL:misc.html>)

タイルされるイメージの縦横サイズ("width x height")を与えます。

"title"=>String

モンタージュイメージのタイトルを与えます。

"frame"=>String (see <URL:misc.html>)

個々のイメージをフレームで装飾する場合のフレーム幅とサイズ を与えます。

"gravity"=>GravityType (see Magick::GravityType)

個々のイメージを配置する際の位置を与えます。

"label"=>String

モンタージュイメージのラベルを指定します。

"shadow"=>bool

true を指定すると、タイルを影付きにします。

"composite"=>CompositeOp (see Magick::CompositeOp

タイルがモンタージュ上にどのように合成されるか指定します。

"fill"=>String (see <URL:misc.html>)

塗り潰し色を指定します。

"stroke"=>String (see <URL:misc.html>)

輪郭色を指定します。

"background_color"=>String (see <URL:misc.html>)

背景色を指定します。

"border_color"=>String (see <URL:misc.html>)

境界色を指定します。

"border_width"=>Fixnum

境界幅を指定します。

"matte_color"=>String (see <URL:misc.html>)

透明色を指定します。

"font"=>String

描画される文字列のフォントのパスを指定します。

"texture"=>String

背景イメージが含まれるファイルへのパスを指定します。

色数の扱い

Magick::Image#compress_colormap

イメージのカラーマップを調べて、重複するエントリを取り除きます。

Magick::Image#number_colors([io])

色数および使われている色の種類を調べて、結果を出力します。io が指定されている場合には、そこに出力されます。指定されない場合は、 標準出力に出力されます。

Magick::Image#is_grayscale_image?

グレイスケール画像である場合true、それ以外はfalseを返します。

Magick::Image#is_monochrome_image?

モノクローム画像である場合true、それ以外はfalseを返します。

Magick::Image#is_opaque_image?

透明色を持つ場合にはtrue、それ以外はfalseを返します。

Magick::Image#is_pseudo_class?

色クラスがPseudo クラスである場合true、それ以外はfalseを返します。

イメージへの装飾

Magick::Image#border(geom, color)

指定されたgeomと色colorでイメージの境界を描きます。

Magick::Image#frame(geom)

イメージの外枠を指定されたgeomで描きます。 外枠の色は、イメージ属性mattecolorで指定される色です。

Magick::Image#raise(geom, raised)

イメージのgeomで指定された領域を盛り上げた(陥没した) 効果を出します。raisedtrueのときは盛り上げます。 falseのときには陥没させます。

イメージの画質操作(enhance)

Magick::Image#contrast(sharpen)

イメージのコントラストを調節します。sharpentrueの場合、 強度を増大させる方向で、falseの場合減少させる方向に調節します。

Magick::Image#equalize

イメージのヒストグラム均一化を行います。

Magick::Image#gamma(level)

イメージを指定したlevelでガンマ補正します。 level"r,g,b,o"(それぞれ赤、緑、青、透明度) のようにカンマ区切りの浮動小数点の値を指定して下さい。

Magick::Image#modulate(modulation)

modulationに従って、イメージの明度、彩度、色相を調節します。 modulationには"b,s,h"(それぞれ明度、彩度、色相)のように カンマ区切りの浮動小数点の値を指定して下さい。

Magick::Image#negate(grayscale)

イメージに色反転を適用します。grayscaletrueのとき、 グレイスケールのみが反転されます。

Magick::Image#normalize

コントラストが強調されるようにイメージの色を調節します。

イメージの減色

Magick::Image#map(image, dither_flag)

原イメージの各色を、それぞれimageで最も近い色に置換します。 その際ディザ化を行うかどうかを、dither_flagで指定して下さい。

Magick::Image#map_images(image, dither_flag)

Magick::Image#mapと同一ですが、イメージシーケンス全体に適用 されます。

Magick::Image#ordered_dither

原イメージを、Ordered Dithering 法という方法によって モノクロームイメージへ変換します。

Magick::Image#quantize({"key"=>value ["key2"=>value2,...]})

イメージを、ハッシュで与えられるオプションにしたがって減色します。

利用可能なオプションは次の通りです。

"colorspace"=>Magick::ColorspaceType

変換する色空間を指定します。

"dither"=>true or false

ディザ化を行う場合にはtrueを指定します。

"measure_error"=>true or false

減色の際の誤差を計算する場合にはtrueを指定します。

"colors"=>Fixnum

減色後の色数の上限を指定します。

Magick::Image#quantize_images({"key"=>value ["key2"=>value2,...]})

Magick::Image#quantizeと同様ですが、 イメージシーケンス全体に適用される点が異なります。

イメージの色による分割

Magick::Image#segment(Colorspace, verbose, cluster, smooth)

イメージの回転と剪断

Magick::Image#rotate(degree)

イメージをdegreeだけ回転させます。degreeが正のときは時計回り、 負の時は逆時計回りに、イメージの左上の原点(0,0)を中心に回転させます。

Magick::Image#shear(x_shear, y_shear)

イメージを水平線から時計回りにx_shear、 垂直線から反時計回りにy_shear回転させ、平行四辺形の形状にします。

その他のイメージ操作

Magick::Image#channel(ChannelType)

イメージからMagick::ChannelType以下の定数で指定される特定のチャネルを 抽出します。

Magick::Image#composite(image, CompositeOp, offset_x, offset_y)

イメージに別のimageを、左上原点から(x,y)の位置に合成 します。合成方法はMagick::CompositeOp以下で定義される定数で指定 します。

Magick::Image#cycle_colormap(amount)

イメージのカラーマップをamountで指定される回数だけローテーションさせます。

Magick::Image#describe(dest_io, [verbose_flag])

イメージ情報をIOオブジェクトdest_ioに出力します。 verbose_flagtrue のときは、詳細な情報を出力します。

Magick::Image#animate

イメージシーケンスをアニメーション化して、画面上に表示します。

Magick::Image#append([horizontal_direction])

イメージシーケンスを連結します。シーケンスは全て同一のサイズで あることが必要です。horizontal_directiontrueに設定 すると、水平方向に連結します。それ以外は垂直方向に連結します。

Magick::Image#display

イメージを画面上に表示します。

Magick::Image#bounding_box

イメージのバウンディングボックスを、 "(width)x(height)+(offset_x)+(offset_y)" の文字列として返します。

Magick::Image#depth

イメージの色の深度を返します。

Magick::Image#image_type

イメージの種類を文字列で返します。

Magick::Image#scenes

イメージシーケンスの個数を返します。

Magick::Image#mogrify(option1 [, option2, ...])

与えられたoptionに従ってイメージを加工します。 オプション詳細についてはmogrify(1)を参照して下さい。

Magick::Image#mosaic

イメージシーケンスを、先頭から順に下から重ね合わせます。

Magick::Image#rgb_transform(ColorspaceType)

RGBイメージを、Magick::ColorspaceTypeで定義される定数に よって表わされる色空間へと変換します。

Magick::Image#texture(image)

既存のイメージを利用して、新規にimageをタイルしたイメージを作成 します。

Magick::Drawable

描画可能な基本図形をまとめたモジュール。Rubyスクリプトで書かれています。 詳細は"lib/magick.rb"を参照して下さい。

Magick::Image#drawの引数となるオブジェクトを生成するための 基本図形クラスが定義されています。

一般的に、これらを用いた描画は次の手順によって行われます。

1. 基本図形を決定するパラメータを引数としたクラスメソッドnewによって新規にオブジェクトを作成する。
2. そのオブジェクトにsetメソッドを用いて、属性を指定する。
3. できあがったオブジェクトを((<Magick::Image#draw>))の引数として渡す。

Magick::Drawable::Point

クラスメソッド

Magick::Drawable::Point.new(image, x, y)

image 上の(x,y)に描かれる点オブジェクトを生成します。

メソッド

Magick::Drawable::Point#set

Magick::Drawable::Line

クラスメソッド

Magick::Drawable::Line.new(image, x1, x2, y1, y2)

(x1, y1), (x2,y2)を端点とする線分オブジェクト を作成します。

Magick::Drawable::Rectangle

クラスメソッド

Magick::Drawable::Rectangle.new(image, x1, x2, y1, y2)

(x1, y1), (x2,y2)を端点とする線分オブジェクト を作成します。

Magick::Drawable::Arc

クラスメソッド

Magick::Drawable::Arc.new(image, startX,startY,endX,endY,startDegree,endDegree)

Magick::Drawable::Ellipse

クラスメソッド

Magick::Drawable::Ellipse.new(image, origX,origY,width,height,arcStart,arcEnd)

Magick::Drawable::Circle

クラスメソッド

Magick::Drawable::Circle.new(image, origX,origY,perimX,perimY)

Magick::Drawable::Polyline

クラスメソッド

Magick::Drawable::Polyline.new(image, *[x1,y1,x2,y2,...])

引数の配列の要素数は必ず偶数である必要があります。

Magick::Drawable::Polygon

クラスメソッド

Magick::Drawable::Polygon.new(image, *[x1,y1,x2,y2,...])

引数の配列の要素数は必ず偶数である必要があります。

Magick::Drawable::Bezier

クラスメソッド

Magick::Drawable::Bezier.new(image, *[x1,y1,x2,y2,...])

引数の配列の要素数は必ず偶数である必要があります。

Magick::Drawable::Text

クラスメソッド

Magick::Drawable::Text.new(image, text, x, y)

(x,y)に描画される文字列textを指定します。