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