Sunt adesea întrebat cum să inserați o imagine în format Jpeg în executabil sau cum să vizualizați imagini jpeg în program. În acest articol voi încerca să spun și să arăt prin exemple cum puteți lucra cu imagini jpeg.
În aceste scopuri, Delphi are două clase, TJpegImage și TJpegData. Vom folosi primul, este descris în modulul JPEG (ar trebui să fie conectat în utilizări).
Managerul de evenimente OnClick pentru primul buton poate arăta astfel:
procedura TForm1.Button1Click (expeditor: TObject);
începe
dacă opendialog1.execute apoi
image1.Picture.LoadFromFile (opendialog1.filename);
se încheie;
Apropo, nu uitați să configurați filtrul pentru OpenDialog1, astfel încât să puteți deschide numai imaginile în format * .bmp.
Acum vom scrie direct partea principală a programului, adică crearea unei imagini jpeg. Toate acțiunile vor fi executate făcând clic pe al doilea buton. 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 puteți vedea, totul este foarte simplu! Doar în cazul în care, voi da codul complet de aplicare:
utilizări
Windows, Mesaje, SysUtils, Clase, Grafică, Controale, Formulare, Dialoguri,
ComCtrls, ExtCtrls, StdCtrls, JPEG;
tip
TForm1 = clasa (TForm)
Buton1: 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
dacă opendialog1.execute apoi
image1.Picture.LoadFromFile (opendialog1.filename);
se încheie;
Pentru a inversa conversia de la Jpg la Bmp, trebuie să utilizați metoda DibNeeded.