モジュールgd
gd モジュールは画像処理用のモジュールで、画像の作成、操作、保存の機能を提供し、カラー、フィルター、描画などの関連操作を豊富に提供します。
gd モジュールを使用してイメージを作成および操作するサンプル コードを次に示します。
1
2
3
4
5
6
7
8
9
10var gd = require('gd');
var img = gd.create(440, 240); // create a 440x240 truecolor image
var r = img.colorAllocate(255, 0, 0); // allocate two colors
var b = img.colorAllocate(0, 0, 255);
img.rectangle(40, 40, 50, 50, r); // draw a rectangle
img.filledEllipse(80, 100, 30, 50, b); // fill a ellipse
var data = img.getData(gd.PNG); // save image as PNG data
この例では、最初に create() メソッドを使用して 440x240 TRUECOLOR イメージを作成し、 colorAllocate() メソッドを使用して 2 つの色を割り当てます。次に、rectangle() メソッドを使用して長方形を描画し、塗りつぶされた楕円を描画します。最後に getData() メソッドを使用して、画像をバイナリ データとして PNG 形式で保存します。
静的関数
create
新しいイメージを作成する
1
2
3static Image gd.create(Integer width,
Integer height,
Integer color = gd.TRUECOLOR) async;
呼び出しパラメータ:
- width: 整数、画像の幅を指定します
- height: 整数、画像の高さを指定します
- color: 整数、画像タイプを指定します。許可される値は次のとおりです。gd.TRUECOLORまたはgd.PALETTE
返される結果:
- Image、正常に作成された画像オブジェクトを返します。
load
フォーマットデータから画像をデコードする
1static Image gd.load(Buffer data) async;
呼び出しパラメータ:
- data:Buffer、デコードされた画像データが与えられると、
返される結果:
- Image、正常にデコードされた画像オブジェクトを返します。
ストリームオブジェクトから画像をデコードする
1static Image gd.load(SeekableStream stm) async;
呼び出しパラメータ:
- stm:SeekableStream、指定された画像データが配置されているストリーム オブジェクト
返される結果:
- Image、正常にデコードされた画像オブジェクトを返します。
指定されたファイルから画像をデコードします
1static Image gd.load(String fname) async;
呼び出しパラメータ:
- fname: 文字列、ファイル名を指定します
返される結果:
- Image、正常にデコードされた画像オブジェクトを返します。
rgb
RGB カラーコンポーネントから組み合わせたカラーを生成する
1
2
3static Integer gd.rgb(Integer red,
Integer green,
Integer blue);
呼び出しパラメータ:
- red: 整数、赤色のコンポーネント、範囲は 0 ~ 255
- green: 整数、緑のコンポーネント、範囲は 0 ~ 255
- blue: 整数、青色のコンポーネント、範囲は 0 ~ 255
返される結果:
- Integer、結合された色を返します
rgba
rgbaカラーコンポーネントから組み合わせたカラーを生成
1
2
3
4static Integer gd.rgba(Integer red,
Integer green,
Integer blue,
Number alpha);
呼び出しパラメータ:
- red: 整数、赤色のコンポーネント、範囲は 0 ~ 255
- green: 整数、緑のコンポーネント、範囲は 0 ~ 255
- blue: 整数、青色のコンポーネント、範囲は 0 ~ 255
- alpha: 数値、透明コンポーネント、範囲は 0.0 ~ 1.0
返される結果:
- Integer、結合された色を返します
hsl
HSL カラーコンポーネントから組み合わせたカラーを生成する
1
2
3static Integer gd.hsl(Number hue,
Number saturation,
Number lightness);
呼び出しパラメータ:
- hue: 数値、色相成分、範囲は 0 ~ 360
- saturation: 数値、彩度成分、範囲は 0.0 ~ 1.0
- lightness: 数値、明るさ成分、範囲は 0.0 ~ 1.0
返される結果:
- Integer、結合された色を返します
hsla
hsla カラーコンポーネントから組み合わせたカラーを生成する
1
2
3
4static Integer gd.hsla(Number hue,
Number saturation,
Number lightness,
Number alpha);
呼び出しパラメータ:
- hue: 数値、色相成分、範囲は 0 ~ 360
- saturation: 数値、彩度成分、範囲は 0.0 ~ 1.0
- lightness: 数値、明るさ成分、範囲は 0.0 ~ 1.0
- alpha: 数値、透明コンポーネント、範囲は 0.0 ~ 1.0
返される結果:
- Integer、結合された色を返します
hsb
hsb カラーコンポーネントから組み合わせたカラーを生成する
1
2
3static Integer gd.hsb(Number hue,
Number saturation,
Number brightness);
呼び出しパラメータ:
- hue: 数値、色相成分、範囲は 0 ~ 360
- saturation: 数値、彩度成分、範囲は 0.0 ~ 1.0
- brightness: 数値、明るさ成分、範囲は 0.0 ~ 1.0
返される結果:
- Integer、結合された色を返します
hsba
hsba カラーコンポーネントから組み合わせたカラーを生成する
1
2
3
4static Integer gd.hsba(Number hue,
Number saturation,
Number brightness,
Number alpha);
呼び出しパラメータ:
- hue: 数値、色相成分、範囲は 0 ~ 360
- saturation: 数値、彩度成分、範囲は 0.0 ~ 1.0
- brightness: 数値、明るさ成分、範囲は 0.0 ~ 1.0
- alpha: 数値、透明コンポーネント、範囲は 0.0 ~ 1.0
返される結果:
- Integer、結合された色を返します
color
文字列から組み合わせた色を生成する
1static Integer gd.color(String color);
呼び出しパラメータ:
- color: 文字列、色を指定する文字列 (例: "#ff0000"、"ff0000"、"#f00"、"f00")
返される結果:
- Integer、結合された色を返します
絶え間ない
NONE
画像フォーマット定数。現在の画像ソースが不明であることを示します。
1const gd.NONE = 0;
JPEG
画像形式定数。現在の画像ソースが jpeg 形式データであることを示します。
1const gd.JPEG = 1;
GIF
画像形式定数。現在の画像ソースが gif 形式データであることを示します。
1const gd.GIF = 2;
PNG
画像形式定数。現在の画像ソースが png 形式データであることを示します。
1const gd.PNG = 3;
TIFF
画像形式定数。現在の画像ソースが tiff 形式データであることを示します。
1const gd.TIFF = 4;
BMP
画像形式定数。現在の画像ソースが bmp 形式データであることを示します。
1const gd.BMP = 5;
WEBP
画像形式の定数。現在の画像ソースが webp 形式のデータであることを示します。
1const gd.WEBP = 6;
TRUECOLOR
画像タイプ定数。現在の画像が True Color 画像であることを示します。
1const gd.TRUECOLOR = 0;
PALETTE
画像タイプ定数。現在の画像がパレット画像であることを示します。
1const gd.PALETTE = 1;
ARC
セクター描画スタイル。始点と終点を結ぶ円弧を描きます。
1const gd.ARC = 0;
CHORD
扇形描画スタイル。原点、始点、終点を結ぶ直線を描画します。
1const gd.CHORD = 1;
NOFILL
セクター描画スタイル。塗りつぶさずにセクターを描画します。
1const gd.NOFILL = 2;
EDGED
扇形描画スタイル。始点と終点を結ぶ円弧と原点を結ぶ直線を描きます。
1const gd.EDGED = 4;
HORIZONTAL
ミラーリング方向、水平ミラーリング処理
1const gd.HORIZONTAL = 1;
VERTICAL
ミラー方向、垂直ミラー加工
1const gd.VERTICAL = 2;
BOTH
ミラーリング方向、水平方向と垂直方向の両方のミラーリング処理
1const gd.BOTH = 3;
LEFT
回転方向、左回転
1const gd.LEFT = 1;
RIGHT
回転方向、右回転
1const gd.RIGHT = 2;
MEAN_REMOVAL
フィルタータイプ: 平均除去法を使用して輪郭効果を実現します
1const gd.MEAN_REMOVAL = 0;
EDGEDETECT
フィルター タイプ: エッジ検出を使用して画像のエッジを強調表示します。
1const gd.EDGEDETECT = 1;
EMBOSS
フィルタータイプ: エンボス画像
1const gd.EMBOSS = 2;
SELECTIVE_BLUR
フィルタータイプ: 画像をぼかします
1const gd.SELECTIVE_BLUR = 3;
GAUSSIAN_BLUR
フィルタータイプ: ガウスアルゴリズムによるぼかし画像
1const gd.GAUSSIAN_BLUR = 4;
NEGATE
フィルターの種類: 画像内のすべての色を反転します。
1const gd.NEGATE = 5;
GRAYSCALE
フィルターの種類: 画像をグレースケールに変換します
1const gd.GRAYSCALE = 6;
SMOOTH
フィルター タイプ: 画像をより滑らかにします。arg1 を使用して滑らかさのレベルを設定します。
1const gd.SMOOTH = 7;
BRIGHTNESS
フィルターの種類: 画像の明るさを変更します。arg1 を使用して明るさのレベルを設定します。値の範囲は -255 ~ 255 です。
1const gd.BRIGHTNESS = 8;
CONTRAST
フィルター タイプ: 画像のコントラストを変更します。arg1 を使用してコントラスト レベルを設定します。値の範囲は 0 ~ 100 です。
1const gd.CONTRAST = 9;
COLORIZE
フィルタ タイプ: 画像の色相を変更します。arg1、arg2、arg3 を使用して、それぞれ赤、青、緑を指定します。各色の範囲は 0 ~ 255 です。arg4 は透明度で、返される値は 0 ~ 127 です。
1const gd.COLORIZE = 10;