モジュール 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() メソッドを使用して四角形を描画し、塗りつぶされたものを上に描画します。長方形 Ellipse の右上、最後に 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
現在のイメージがトゥルー カラー イメージであることを示すイメージ タイプ定数
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;