Ca sarcină png (componenta tpngimage)

Crearea unui proiect nou, salvați-l, copiați-l în dosarul în care proiectul toate conținutul fișierului este salvat (desigur, fără referință). Secțiunea folosește proiectul pngimage add. Puteți, de obicei metoda acum LoadFromFile dureros familiar fișier TPicture zagruzir PNG. Acum, de la vorbe la fapte. Aranjarea forma TButton și TImage. Crearea unui buton de tratare a evenimentului OnClick:

Pornește proiectul și faceți clic pe butonul, fișierul rezultat este încărcat cu succes, și cu suport pentru canale alfa, care oferă mai multe oportunități pentru interfața de înregistrare.

Dar, cu această abordare, în plus față de EXE este încă nevoie, și fișiere imagine PNG, ceea ce este inacceptabil, în unele programe. În acest caz, puteți face pur și simplu. Ia și mână în timpul sarcinii de dezvoltare a aplicațiilor în fișierul TImage, la fel cum am făcut cu JPEG și BMP. În acest caz, toate graficele vor fi stocate în EXE și nu sunt necesare fișiere externe PNG.

Există o altă opțiune - pentru a crea o resursă și să încărcați PNG din resurse. Pentru a compila resursa cu mediul de dezvoltare Delphi este disponibil compilator pe 32 de biți (brcc32.exe):

1. Creați un fișier BAT cu următorul conținut:

2. Crearea unui fișier text cu următorul conținut:

3. Copiați aceste două fișiere și PNG 1.png numele într-un dosar separat.

4. Trageți fișierul text în fișierul BAT. Dacă ați făcut totul corect, ar trebui să vedeți un alt fișier cu RES. Fișierul va fi numit exact la fel ca fișier text.

Redenumirea acest fișier png.res și copiați dosarul cu proiectul salvat. Apoi, deschide proiectul și după

add. În acest fel ați atașat fișierul de resurse (png.res) la proiect și conținutul acestui fișier va fi localizat în EXE-ul.

Acum rămâne doar pentru a descărca datele. anunț variabilă

Descriere tip TPNGObject este în modulul pngimage atașat. L-am blocat la începutul acestui articol. Apoi arunca forma butonul și de a crea un handler pentru butonul de clic:

Aici, în general, și toate. Ce o modalitate de a alege până la tine.

A încercat să descărcați, cu standardul PNG lucrat bine (incepand cu data de fișiere cu 32 BPP), dar imediat ce am schimbat BPP 24/8/4/1 și salvați fișierul utilizând ACDSee 3.0, au fost emise imediat oshimki (citit din fluxul) , a început să sape, a fost acceptat această condiție, atunci când citiți blocuri de date de la sfârșitul anului curent de fișier:
până la (ChunkName = 'ieten'); (string

5041)
și fișierele salvate folosind ACDSee doar acest bloc și nu suficient de economii (în mărime de fișier de 8 biți).
IEȘIRE găsit un simplu:
variabilă Adăugat:
StreamSz. INTEGER;
inițializată:
StreamSz: = Stream.Size;
Înlocuit cu condiția de mai sus:
până la Stream.Position> = StreamSz;

La fel ca toate lucrările