modulo gd
Il modulo gd è un modulo per l'elaborazione delle immagini, che fornisce le funzioni di creazione, manipolazione e memorizzazione delle immagini e fornisce ricchi colori, filtri, disegni e altre operazioni correlate.
Ecco un codice di esempio che utilizza il modulo gd per creare e manipolare un'immagine:
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
In questo esempio, utilizziamo prima il metodo create() per creare un'immagine TRUECOLOR 440x240 e utilizziamo il metodo colorAllocate() per assegnare due colori, quindi utilizziamo il metodo rettangolo() per disegnare un rettangolo e disegnarne uno pieno sul in alto a destra del rettangolo Ellipse, e infine utilizzare il metodo getData() per salvare l'immagine come dati binari in formato PNG.
funzione statica
create
creare una nuova immagine
1
2
3static Image gd.create(Integer width,
Integer height,
Integer color = gd.TRUECOLOR) async;
Parametri di chiamata:
- width: numero intero, specifica la larghezza dell'immagine
- height: numero intero, specifica l'altezza dell'immagine
- color: Integer, specifica il tipo di immagine, il valore consentito ègd.TRUECOLOROgd.PALETTE
risultato di ritorno:
- Image, restituisce l'oggetto immagine creato correttamente
load
Decodifica l'immagine dai dati di formato
1static Image gd.load(Buffer data) async;
Parametri di chiamata:
- data:Buffer, dati i dati dell'immagine decodificati
risultato di ritorno:
- Image, restituisce l'oggetto immagine decodificato correttamente
Decodifica un'immagine da un oggetto flusso
1static Image gd.load(SeekableStream stm) async;
Parametri di chiamata:
- stm:SeekableStream, dato l'oggetto stream in cui risiedono i dati dell'immagine
risultato di ritorno:
- Image, restituisce l'oggetto immagine decodificato correttamente
Decodifica un'immagine dal file specificato
1static Image gd.load(String fname) async;
Parametri di chiamata:
- fname: String, specifica il nome del file
risultato di ritorno:
- Image, restituisce l'oggetto immagine decodificato correttamente
rgb
Genera colori combinati da componenti di colore rgb
1
2
3static Integer gd.rgb(Integer red,
Integer green,
Integer blue);
Parametri di chiamata:
- red: Numero intero, il componente rosso, l'intervallo è 0-255
- green: Numero intero, componente verde, l'intervallo è 0-255
- blue: Numero intero, componente blu, l'intervallo è 0-255
risultato di ritorno:
- Integer, restituisce il colore combinato
rgba
Genera colori compositi da componenti di colore rgba
1
2
3
4static Integer gd.rgba(Integer red,
Integer green,
Integer blue,
Number alpha);
Parametri di chiamata:
- red: Numero intero, il componente rosso, l'intervallo è 0-255
- green: Numero intero, componente verde, l'intervallo è 0-255
- blue: Numero intero, componente blu, l'intervallo è 0-255
- alpha: Numero, componente trasparente, l'intervallo è 0,0-1,0
risultato di ritorno:
- Integer, restituisce il colore combinato
hsl
Genera colori compositi da componenti colore hsl
1
2
3static Integer gd.hsl(Number hue,
Number saturation,
Number lightness);
Parametri di chiamata:
- hue: Numero, componente tonalità, l'intervallo è 0-360
- saturation: Numero, componente di saturazione, l'intervallo è 0,0-1,0
- lightness: numero, componente di luminosità, l'intervallo è 0,0-1,0
risultato di ritorno:
- Integer, restituisce il colore combinato
hsla
Genera colori compositi da componenti colore hsla
1
2
3
4static Integer gd.hsla(Number hue,
Number saturation,
Number lightness,
Number alpha);
Parametri di chiamata:
- hue: Numero, componente tonalità, l'intervallo è 0-360
- saturation: Numero, componente di saturazione, l'intervallo è 0,0-1,0
- lightness: numero, componente di luminosità, l'intervallo è 0,0-1,0
- alpha: Numero, componente trasparente, l'intervallo è 0,0-1,0
risultato di ritorno:
- Integer, restituisce il colore combinato
hsb
Genera colori compositi da componenti di colore hsb
1
2
3static Integer gd.hsb(Number hue,
Number saturation,
Number brightness);
Parametri di chiamata:
- hue: Numero, componente tonalità, l'intervallo è 0-360
- saturation: Numero, componente di saturazione, l'intervallo è 0,0-1,0
- brightness: numero, componente di luminosità, l'intervallo è 0,0-1,0
risultato di ritorno:
- Integer, restituisce il colore combinato
hsba
Genera colori compositi da componenti di colore hsba
1
2
3
4static Integer gd.hsba(Number hue,
Number saturation,
Number brightness,
Number alpha);
Parametri di chiamata:
- hue: Numero, componente tonalità, l'intervallo è 0-360
- saturation: Numero, componente di saturazione, l'intervallo è 0,0-1,0
- brightness: numero, componente di luminosità, l'intervallo è 0,0-1,0
- alpha: Numero, componente trasparente, l'intervallo è 0,0-1,0
risultato di ritorno:
- Integer, restituisce il colore combinato
color
Genera colori combinati da stringhe
1static Integer gd.color(String color);
Parametri di chiamata:
- color: String, la stringa che specifica il colore, ad esempio: "#ff0000", "ff0000", "#f00", "f00"
risultato di ritorno:
- Integer, restituisce il colore combinato
costante
NONE
Formato immagine costante, che contrassegna l'origine dell'immagine corrente come sconosciuta
1const gd.NONE = 0;
JPEG
Formato immagine costante, che indica che l'origine dell'immagine corrente è costituita da dati in formato jpeg
1const gd.JPEG = 1;
GIF
Formato immagine costante, che indica che l'origine dell'immagine corrente è costituita da dati in formato gif
1const gd.GIF = 2;
PNG
Costante del formato dell'immagine, che indica che l'origine dell'immagine corrente è costituita da dati in formato png
1const gd.PNG = 3;
TIFF
Formato immagine costante, che indica che l'origine dell'immagine corrente è costituita da dati in formato tiff
1const gd.TIFF = 4;
BMP
Formato immagine costante, che indica che l'origine dell'immagine corrente è costituita da dati in formato bmp
1const gd.BMP = 5;
WEBP
Formato immagine costante, che indica che l'origine dell'immagine corrente è costituita da dati in formato webp
1const gd.WEBP = 6;
TRUECOLOR
Tipo di immagine costante, che indica che l'immagine corrente è un'immagine a colori veri
1const gd.TRUECOLOR = 0;
PALETTE
Tipo di immagine costante, che indica che l'immagine corrente è un'immagine tavolozza
1const gd.PALETTE = 1;
ARC
Stile di disegno a ventaglio, disegna un arco che collega i punti iniziale e finale
1const gd.ARC = 0;
CHORD
Stile di disegno a ventaglio, traccia una linea retta che collega i punti di origine, inizio e fine
1const gd.CHORD = 1;
NOFILL
Stile di disegno a ventaglio, disegna un ventaglio senza riempirlo
1const gd.NOFILL = 2;
EDGED
Stile di disegno a ventaglio, disegna un arco che collega i punti iniziale e finale e una linea che collega l'origine
1const gd.EDGED = 4;
HORIZONTAL
Direzione dello specchio, specchio orizzontale
1const gd.HORIZONTAL = 1;
VERTICAL
Specchia la direzione, fai l'immagine speculare verticalmente
1const gd.VERTICAL = 2;
BOTH
Direzione speculare, speculare sia orizzontalmente che verticalmente
1const gd.BOTH = 3;
LEFT
Direzione di rotazione, ruota a sinistra
1const gd.LEFT = 1;
RIGHT
Direzione di rotazione, ruota a destra
1const gd.RIGHT = 2;
MEAN_REMOVAL
Tipo di filtro: Effetto contorno con rimozione media
1const gd.MEAN_REMOVAL = 0;
EDGEDETECT
Tipo di filtro: utilizza il rilevamento dei bordi per evidenziare i bordi dell'immagine
1const gd.EDGEDETECT = 1;
EMBOSS
Tipo di filtro: immagine in rilievo
1const gd.EMBOSS = 2;
SELECTIVE_BLUR
Tipo di filtro: immagine sfocata
1const gd.SELECTIVE_BLUR = 3;
GAUSSIAN_BLUR
Tipo di filtro: sfoca l'immagine con un algoritmo gaussiano
1const gd.GAUSSIAN_BLUR = 4;
NEGATE
Tipo di filtro: inverte tutti i colori dell'immagine
1const gd.NEGATE = 5;
GRAYSCALE
Tipo di filtro: Converti l'immagine in scala di grigi
1const gd.GRAYSCALE = 6;
SMOOTH
tipo di filtro: rende l'immagine più uniforme, usa arg1 per impostare il livello di uniformità
1const gd.SMOOTH = 7;
BRIGHTNESS
Tipo di filtro: cambia la luminosità dell'immagine, usa arg1 per impostare il livello di luminosità, l'intervallo di valori è -255~255
1const gd.BRIGHTNESS = 8;
CONTRAST
Tipo di filtro: cambia il contrasto dell'immagine, usa arg1 per impostare il livello di contrasto, l'intervallo di valori è 0~100
1const gd.CONTRAST = 9;
COLORIZE
Tipo di filtro: cambia la tonalità dell'immagine, usa arg1, arg2 e arg3 per specificare rispettivamente rosso, blu e verde, ogni gamma di colori è 0~255, arg4 è la trasparenza e il valore restituito è 0~127
1const gd.COLORIZE = 10;