Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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 и прочие...


Наверх

Титульная страница Поиск, карта сайта Написать письмо