Страница 1 из 2
Как создать миниатюру JPG картинки?
Добавлено: 29 авг 2008, 20:12
Dr_Grizzly
Всем привет! Такой вот вопрос! Есть jpg фотография, большого размера файл, ~3-6Mb Можно ли при помощи TImage создать миниатюру данной фотки и сохранить ее в отдельный файл? Т.е. например фотка имеет разрешение 640х480 надо сделать ее 320х240 например.... Как такое реализовать???
Re: Как создать миниатюру JPG картинки?
Добавлено: 29 авг 2008, 21:03
Dr_Grizzly
Нашел вот такой кусок кода
Код: Выделить всё
procedure Tfmain.Button4Click(Sender: TObject);
var
Temp: Boolean;
begin
Temp := I1_Pic.Picture.Graphic is TJPEGImage;
if Temp then
with TJPEGImage(I1_Pic.Picture.Graphic) do
begin
PixelFormat := TJPEGPixelFormat(Self.PixelFormat.ItemIndex);
Scale := TJPEGScale(Self.Scale.ItemIndex);
Grayscale := Boolean(Colorspace.ItemIndex);
Performance := TJPEGPerformance(Self.Performance.ItemIndex);
ProgressiveDisplay := Self.ProgressiveDisplay.Checked;
end;
Scale.Enabled := Temp;
PixelFormat.Enabled := Temp;
Colorspace.Enabled := Temp;
Performance.Enabled := Temp;
ProgressiveDisplay.Enabled := Temp
and TJPEGImage(I1_Pic.Picture.Graphic).ProgressiveEncoding;
I1_Pic.IncrementalDisplay := IncrementalDisplay.Checked;
end;
Картинка уменьшается пропорционально, но не могу сохранить в файл полученный результат! пытаюсь I1_Pic.Picture.Graphic.SaveToFile('C:\aaa.jpg'); - не дает, сохраняет оригинал картинки...
Re: Как создать миниатюру JPG картинки?
Добавлено: 29 авг 2008, 21:17
Dr_Grizzly
Кстати, подобная прога лежит в ...\Borland\Delphi6\Help\Examples\Jpeg\ я от туда и взял пример....
Re: Как создать миниатюру JPG картинки?
Добавлено: 29 авг 2008, 21:30
C_O_D_E
из вкладки Dialog компанент Save имеет место быть на форме?
Re: Как создать миниатюру JPG картинки?
Добавлено: 29 авг 2008, 21:36
Dr_Grizzly
Ну впринципе не проблема, я просто не знаю какими способами можно это сделать.... так что любой совет выслушаю
Re: Как создать миниатюру JPG картинки?
Добавлено: 29 авг 2008, 21:40
C_O_D_E
Dialog->SavePictureDialog
и автоматическое сохраниение картинки.
а как вы открываете изображение? прописываете путь в коде?
Re: Как создать миниатюру JPG картинки?
Добавлено: 29 авг 2008, 21:51
Dr_Grizzly
Использую OpenDialog,загружаю картинку в Image и потом ее уменьшаю. Вот только сохранить полученный результат в файл не могу
Re: Как создать миниатюру JPG картинки?
Добавлено: 29 авг 2008, 21:53
Dr_Grizzly
C_O_D_E писал(а):Dialog->SavePictureDialog
и автоматическое сохраниение картинки.
Это как???
Re: Как создать миниатюру JPG картинки?
Добавлено: 29 авг 2008, 21:57
C_O_D_E
для открытия картинки стоит использовать OpenPictureDialog(т.к. есть возможность просмотра того чего открываем )
далее. процедура сохранить как выглядит так:
[syntax=Delphi]
SavePictureDialog1.filename:=fname;
If SavePictureDialog1.Execute
then begin
FName:=OpenPictureDialog1.FileName;
I1_Pic.Picture.Graphic.SaveToFile(FName);
end;
[/syntax]
кажется так. я не компилировала
Re: Как создать миниатюру JPG картинки?
Добавлено: 29 авг 2008, 22:10
Dr_Grizzly
Да с этим все понятно ))) дело в другом, картинка в Image уменьшена как мне надо, а вот сохранить ее в уменьшеном виде не получается. При попытки сохранить, сохранятся оригинал картинки, т.е. большая. Я просто думал, что есть возможность сохранить из preview savepicdialog'а картинку в файл )))