Как создать миниатюру JPG картинки?
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
Всем привет! Такой вот вопрос! Есть jpg фотография, большого размера файл, ~3-6Mb Можно ли при помощи TImage создать миниатюру данной фотки и сохранить ее в отдельный файл? Т.е. например фотка имеет разрешение 640х480 надо сделать ее 320х240 например.... Как такое реализовать???
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD

-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
Нашел вот такой кусок кода
Картинка уменьшается пропорционально, но не могу сохранить в файл полученный результат! пытаюсь I1_Pic.Picture.Graphic.SaveToFile('C:\aaa.jpg'); - не дает, сохраняет оригинал картинки...
Код: Выделить всё
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;
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD

-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
Кстати, подобная прога лежит в ...\Borland\Delphi6\Help\Examples\Jpeg\ я от туда и взял пример....
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD

-
- Сообщения: 296
- Зарегистрирован: 13 фев 2008, 20:10
- Откуда: Беларусь. Орша
- Контактная информация:
из вкладки Dialog компанент Save имеет место быть на форме?
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
Ну впринципе не проблема, я просто не знаю какими способами можно это сделать.... так что любой совет выслушаю
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD

-
- Сообщения: 296
- Зарегистрирован: 13 фев 2008, 20:10
- Откуда: Беларусь. Орша
- Контактная информация:
Dialog->SavePictureDialog
и автоматическое сохраниение картинки.
а как вы открываете изображение? прописываете путь в коде?
и автоматическое сохраниение картинки.
а как вы открываете изображение? прописываете путь в коде?
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
Использую OpenDialog,загружаю картинку в Image и потом ее уменьшаю. Вот только сохранить полученный результат в файл не могу
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD

-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
C_O_D_E писал(а):Dialog->SavePictureDialog
и автоматическое сохраниение картинки.
Это как???
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD

-
- Сообщения: 296
- Зарегистрирован: 13 фев 2008, 20:10
- Откуда: Беларусь. Орша
- Контактная информация:
для открытия картинки стоит использовать OpenPictureDialog(т.к. есть возможность просмотра того чего открываем )
далее. процедура сохранить как выглядит так:
[syntax=Delphi]
SavePictureDialog1.filename:=fname;
If SavePictureDialog1.Execute
then begin
FName:=OpenPictureDialog1.FileName;
I1_Pic.Picture.Graphic.SaveToFile(FName);
end;
[/syntax]
кажется так. я не компилировала
далее. процедура сохранить как выглядит так:
[syntax=Delphi]
SavePictureDialog1.filename:=fname;
If SavePictureDialog1.Execute
then begin
FName:=OpenPictureDialog1.FileName;
I1_Pic.Picture.Graphic.SaveToFile(FName);
end;
[/syntax]
кажется так. я не компилировала
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
Да с этим все понятно ))) дело в другом, картинка в Image уменьшена как мне надо, а вот сохранить ее в уменьшеном виде не получается. При попытки сохранить, сохранятся оригинал картинки, т.е. большая. Я просто думал, что есть возможность сохранить из preview savepicdialog'а картинку в файл )))
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD
