Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизJPEG и масштаб Найти похожие ветки
← →
limon_ (2004-07-08 22:10) [0]Уважаемые Мастера!
Как сделать масштабирование
jpeg картинки на масштаб (например 80%), то есть, любой процент.
Картинки имеют разную ширину и высоту.
При стандартных примерах, масштаб идет 1:2,1:4 и т.д
Зараннее спасибо!
← →
KilkennyCat © (2004-07-08 22:28) [1]Ну, если оперировать непосредственно с jpeg - не знаю.
Если загрузить его в битмап, то стандартная работа с битмапами, типа StretchDraw и прочие...
← →
Palladin © (2004-07-08 22:35) [2]
> 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:43) [3]
> Palladin © (08.07.04 22:35) [2]
О! Вопрос, извиняюсь, не в тему: давно не работал ни в кореле, ни в фотошопе... они еще не начали давать возможность работать с ними из Делфи, как с МС Оффиссом? Тогда все проще...
← →
Palladin © (2004-07-08 22:51) [4]Без проблем...
← →
Sir John © (2004-07-08 23:45) [5]
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 23:48) [6]Уау... какая дрянь может получится из красивой картинки...
← →
Sir John © (2004-07-08 23:50) [7]не нравится - не пользуйтесь. У меня все нормально работает
← →
Palladin © (2004-07-08 23:52) [8]Дело не в том нормально не нормально работает, как вы могли заметить.. про работает или нет я ничего не говорил...
← →
Sir John © (2004-07-09 00:01) [9]не проблема, приведите свой код :)
← →
Palladin © (2004-07-09 00:09) [10]Была бы задача для меня - привел бы... но, извините, тратить время на не нужное... подход к поиску решения описан...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.052 c