![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
JPEG и масштаб
limon_ © (2004-07-08 22:10:00)Уважаемые Мастера!
Как сделать масштабирование
jpeg картинки на масштаб (например 80%), то есть, любой процент.
Картинки имеют разную ширину и высоту.
При стандартных примерах, масштаб идет 1:2,1:4 и т.д
Зараннее спасибо!
Palladin (2004-07-09 00:09:00) [1]Была бы задача для меня - привел бы... но, извините, тратить время на не нужное... подход к поиску решения описан...
Sir John (2004-07-09 00:01:00) [2]не проблема, приведите свой код :)
Palladin (2004-07-08 23:52:00) [3]Дело не в том нормально не нормально работает, как вы могли заметить.. про работает или нет я ничего не говорил...
Sir John (2004-07-08 23:50:00) [4]не нравится - не пользуйтесь. У меня все нормально работает
Palladin (2004-07-08 23:48:00) [5]Уау... какая дрянь может получится из красивой картинки...
Sir John (2004-07-08 23:45:00) [6]
procedure TForm_rc_Main.LoadPreview;
var
bmp: TBItmap;
jpg: TJpegImage;
scale: Double;
begin
jpg := TJpegImage.Create;
try
jpg.Loadfromfile('имя_файла');
if jpg.Height > jpg.Width then
scale := image_small_Y / jpg.Height
else
scale := image_small_X / jpg.Width;
bmp:= Tbitmap.Create;
try
{Create thumbnail bitmap, keep pictures aspect ratio}
bmp.Width := Round( jpg.Width * scale );
bmp.Height:= Round( jpg.Height * scale );
bmp.Canvas.StretchDraw( bmp.Canvas.Cliprect, jpg );
{Convert back to JPEG and save to file}
jpg.Assign(bmp);
//показываем где-нить
finally
bmp.free;
end;
finally
jpg.free;
end;
end;
image_small_Y - требуемая высота
image_small_X - требуемая ширина
----------------------
с уважением,
Sir John
Palladin (2004-07-08 22:51:00) [7]Без проблем...
KilkennyCat (2004-07-08 22:43:00) [8]
> Palladin © (08.07.04 22:35) [2]
О! Вопрос, извиняюсь, не в тему: давно не работал ни в кореле, ни в фотошопе... они еще не начали давать возможность работать с ними из Делфи, как с МС Оффиссом? Тогда все проще...
Palladin (2004-07-08 22:35:00) [9]
> limon_ (08.07.04 22:10)
Алгоритъм прихода к решению задачи таков:
1 Ставим Adobe Photoshop. Лучше 7
2 Открываем картинку.
3 Выбираем пункт меню Image\Image Size...
4 В появившемся диалоговом окне открываем список Resample Image
5 Записываем на листочек или запоминаем фразы которые там написаны
6 Используем поисковую систему, практически любую, рекомендую Google, с фразой "алгоритм "+<написаный на листочке или запомненый один из пунктов>
7 Наслаждаемся описанием найденного
8 Повторяем пункт 6 пока не кончатся пункты
9 Выбираем понравившийся рассказ и реализуем.
PS: Пункты можно смотреть и Corel Draw 7 or higher, только как - не помню...
KilkennyCat (2004-07-08 22:28:00) [10]Ну, если оперировать непосредственно с jpeg - не знаю.
Если загрузить его в битмап, то стандартная работа с битмапами, типа StretchDraw и прочие...