모듈 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() 메서드를 사용하여 두 가지 색상을 할당한 다음 직사각형() 메서드를 사용하여 직사각형을 그리고 채워진 타원을 그립니다. 마지막으로 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
RGB 색상 구성 요소에서 결합된 색상 생성
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;