Lucrul cu imagini în format JPEG-Delfi, grafica, articole din Delphi, programare - programare

Sunt foarte des întrebat cum este posibil pentru a insera o imagine în format JPEG în executabil sau cum pentru a vizualiza imagini JPEG în program. In acest articol voi încerca să explice și să arate prin exemple modul de lucru cu jpeg-imagini.

În acest scop, există două clase Delphi TJpegImage și TJpegData. Vom folosi prima, el este descris ca un modul JPEG (ar trebui să se conecteze la utilizări).

OnClick handler eveniment pentru primul buton poate avea următoarea formă:

Procedura TForm1.Button1Click (Expeditor: TObject);
începe
în cazul în care opendialog1.execute atunci
image1.Picture.LoadFromFile (opendialog1.filename);
se încheie;

Apropo, nu uitați să setați un filtru pentru OpenDialog1, astfel încât să puteți deschide doar o imagine în format .bmp *.

Să ne întoarcem acum scris, direct, partea principală a programului, și anume crearea de jpeg-imagini. Toate acțiunile vor produce, făcând clic pe butonul de-al doilea. Vom avea nevoie pentru a crea un obiect de tip TJpegImage, transporta cu ei acțiunile necesare, și apoi folosind metoda Comprimare, imagine de pachet și poate salva doar fișierul de imagine. Cu toate acestea, trebuie să configurați proprietățile TrackBar'a: Max proprietate ar trebui să fie făcute egal cu 100 și proprietatea de poziționare ca fie egal cu 100. Astfel, procesorul este apăsat butonul de-al doilea poate fi:

După cum se poate vedea că este foarte simplu! În orice caz, eu aduc codul de aplicare completă:

utilizări
Ferestre, Mesaje, SysUtils, Clase, Grafică, Controale, Formulare, Dialoguri,
ComCtrls, ExtCtrls, StdCtrls, JPEG;

tip
TForm1 = class (TForm)
Button1: TButton;
Button2: TButton;
Image1: TImage;
TrackBar1: TTrackBar;
OpenDialog1: TOpenDialog;
CheckBox1: TCheckBox;
Procedura Button1Click (Expeditor: TObject);
Procedura Button2Click (Expeditor: TObject);
privat

public

se încheie;

var
Form1: TForm1;

Procedura TForm1.Button1Click (Expeditor: TObject);
începe
în cazul în care opendialog1.execute atunci
image1.Picture.LoadFromFile (opendialog1.filename);
se încheie;

Pentru a converti de la Jpg bmp necesară utilizarea unei metode DibNeeded.