ImageEn v. 0.2 beta
Metodi:
procedure SaveToFileJpeg(const nf:string; Quality:integer)
Salva l'immagine corrente in formato JPEG.
nf: nome del file, con estensione.
Quality: fattore di qualità, da 1 a 100. Più questo valore è alto e maggiore è la qualità dell'immagine, ma anche la dimensione del file risultante.
procedure LoadFromFileJpeg(const nf:string; Quality:boolean);
Carica un file JPEG.
nf: nome del file, con estensione.
Quality: se TRUE il caricamento è più lento in vantaggio della qualità. Se FALSE, al contrario, si avrà maggiore velocità, ma minore qualità.
procedure LoadFromFile(const nf:string);
Carica un file JPEG o BMP. Viene riconosciuto il formato dall'estensione. Se questa è .JPG o .JPEG viene chiamata la funzione LoadFromFileJpeg(), con Quality impostata a TRUE.
nf: nome del file, con estensione.
procedure SaveToFile(const nf:string);
Salva un file JPEG o BMP. Viene riconosciuto il formato dall'estensione. Se questa è .JPG o .JPEG viene chiamata la funzione SaveToFileJpeg(), con Quality impostata a 50.
nf: nome del file, con estensione.
procedure Negative;
Converte in negativo i colori dell'immagine corrente.
procedure HSLvar(oHue,oSat,oLum:integer);
Varia le componenti HSL (Hue Saturation Lightness) dell'immagine corrente.
oHue: offset da applicare alla componente H. Da -180 a +180.
oSat: offset da applicare alla componente S. Da -100 a +100.
oLum: offset da applicare alla componente L. Da -100 a +100.
procedure IntensityRGBall(r,g,b:integer);
Varia le componenti RGB (Red Green Blue).
r,g,b: sono gli offset (da -255 a +255) delle tre componenti del colore.
procedure Contrast(vv:integer);
Varia il contrasto dell'immagine corrente.
vv: offset del contrasto. Da -100 a +100.
procedure ApplyFilter(filter:TGraphFilter);
Applica un filtro all'immagine corrente.
filter: filtro da applicare, di tipo TGraphFilter, definita come una matrice 3X3 di valori double:
TGraphFilter = array [0..2,0..2] of double;
esempio:
const filter:TGraphFilter=( (0, -0.8, 0), (0, 0.8, 0),(0, 0, 0) );
begin
ImageEn1.ApplyFilter(filter);
end;
procedure ConvertToGray;
Converte l'immagine corrente in scala di grigi.
procedure Rotate(fangle:double; antialias:boolean);
Ruota l'immagine corrente di un angolo qualsiasi.
fangle: angolo rotazione. Da -359 a +359.
antialias: NON ANCORA IMPLEMENTATO.
procedure Flip(dir:TFlipDir);
Effettua un capovolgimento orizzontale o verticale dell'immagine.
dir: può essere fdHorizzontal, per orizzontale, fdVertical, per verticale.
procedure Resize(newWidth, newHeight:integer);
Ridimensiona l'immagine corrente, senza perderne il contenuto.
newWidth, newHeight: valori in pixel della nuova dimensione.
function DoPreviewHSLvar(var Hue, Sat, Lum:integer):boolean;
Effettua un preview per la variazione delle componenti HSL.
Hue,Sat,Lum: variazioni impostate dall'utente, da utilizzare per l'effettiva modifica dell'immagine.
Risultato: restituisce TRUE se l'utente a premuto OK, FALSE se ANNULLA.
function DoPreviewIntensityRGB(var
ofsR,ofsG,ofsB:integer):boolean;
Effettua un preview per la variazione delle componenti RGB.
ofsR,ofsG,ofsB: variazioni impostate dall'utente, da utilizzare per l'effettiva modifica dell'immagine.
Risultato: restituisce TRUE se l'utente a premuto OK, FALSE se ANNULLA.
function DoPreviewContrast(var vv:integer):boolean;
Effettua un preview per la variazione del contrasto.
vv: variazione impostata dall'utente, da utilizzare per l'effettiva modifica dell'immagine.
Risultato: restituisce TRUE se l'utente a premuto OK, FALSE se ANNULLA.
procedure SelCopyToClip;
Copia la selezione corrente nella clipboard.
procedure SelPasteFromClipStretch;
Incolla il contenuto della clipboard nella selezione corrente (effettua uno Stretch).
procedure PointPasteFromClip(x1,y1:integer);
Incolla il contenuto della clipboard in un punto.
x1,y1: coordinate in pixel dove inserire l'immagine.
procedure SelCutToClip;
Taglia la selezione corrente (riempendola con il colore di Background) nella clipboard.
procedure PasteFromClipboard;
Sostituisce l'immagine corrente con il contenuto della clipboard.
procedure CopyToClipboard;
Copia l'immagine corrente nella clipboard.
procedure Select(x1,y1,x2,y2:integer);
Seleziona una parte dell'immagine.
x1,y1,x2,y2: rettangolo della selezione.
view: se TRUE mostra la selezione.
procedure DeSelect;
Annulla la selezione corrente.
procedure SaveUndo;
Salva l'immagine corrente, per un successivo comando UNDO. Se è impostata la proprietà AutoUndo non è necessario chiamare questo metodo ogni volta che si modifica l'immagine.
procedure ClearUndo;
Svuota il buffer UNDO.
procedure Undo;
Ripristina l'immagine con quella precedente all'ultima modifica.
procedure Fit;
Setta lo Zoom in modo che l'immagine entri perfettamente all'interno del componente.
procedure Clear;
Svuota l'immagine corrente. Riempie con colore di Background.
function GetCanvas:TCanvas;
Restituisce il canvas per ulteriori disegni sull'immagine (non memorizzabili).
procedure Paint; override;
Ridisegna l'immagine.
Proprietà:
AutoUndo:boolean
Se TRUE l'immagine sarà ripristinabile dopo l'ultima operazione di modifica (chiama automaticamente SaveUndo).
ScrollBars:boolean
Se TRUE mostra le scrollbar, se FALSE le nasconde.
NColors:TNColors
Numero di colori dell'immagine corrente. L'unico valore correntemente supportato è nc24bit, cioè 16 milioni di colori (True Color).
Background:TColor
Colore di background. Usato come riempimento per aree vuote.
ViewX:integer
ViewY:integer
Posizione (in pixel) dell'inizio visualizzazione dell'immagine, qualora questa non entri nei confini del componente.
Zoom:integer
Zoom corrente in percentuale. Il valore minimo è 1 (1% dell'immagine), mentre 100 indica una scala 1:1. Il limite superiore dipende dall'immagine.
PaintWidth:integer
PaintHeight:integer
Ampiezza zona disegnabile (escluse cioè le scrollbar).
Bitmap:TBitMap
Bitmap (formato BMP) rappresentante l'immagine corrente. Contiene l'immagine anche se questa è stata caricata in formato JPEG.
13 gennaio 1998, Fabrizio Di Vittorio