Друзья
Друзья


Как сохранить содержимое Canvas как jpeg файл.

altНиже приводиться код который выполняет данное действие.
//Для начала нужно прописать JPEG в USES
procedure TForm1.BitBtn2Click(Sender: TObject);//к примеру
var
FJ:TJpegImage;//JPEG изображение
Pattern:TBitmap;//BMP изображение
RegionD: TRect;//destination region – регион исходник для копирования
RegionS: TRect;//source region – регион назначение
i:integer;
begin
FJ:=TJpegImage.Create;//создать изображение JPEG
FJ.CompressionQuality:=100;//качество 100 - максимальное
Pattern:=TBitmap.Create;//BMP создать
Pattern.Width:=Image1.Width;//размеры задать -ширина
Pattern.Height:=Image1.Height;// размеры задать -высота
RegionD:=Rect(0,0,Pattern.Width, Pattern.Height);//создать регион назначения
RegionS:=Rect(0,0,Image1.Width, Image1.Height); //создать регион исходника
Pattern.Canvas.CopyRect(RegionD, Image1.Canvas, RegionS);//копировать регионы
FJ.Assign(Pattern);//присвоить JPEG файлу данные
//совсем не обязательно использовать диалог для сохранения можно просто
//FJ.SaveToFile(‘имя файла.jpg’);
savedialog1.FileName:='default chart.jpg';//имя файла по умолчанию
if savedialog1.Execute() then//вызвать диалог сохранения
begin
if FileExists(savedialog1.FileName) then begin//если с таким именем файл существует
if MessageDlg('Файл '+Get_Name(savedialog1.FileName)+'уже существует .'+chr(13)+
'Произвести замену файла?'
, mtWarning, [mbOK, mbCancel], 0)=2 then exit;
end;
FJ.SaveToFile(savedialog1.FileName);//сохранить файл
end;
end;
 
Самое популярное
Яндекс.Метрика