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

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

Уменьшить JPEG [D7, XP]


Nell ©   (2008-08-15 15:19:00) 

Никто не знает как уменьшить JPEG.

В интерненте есть только примерно одинаковые варианты с использованием TBitMap, что-то типа такого
http://e-dok.narod.ru/delphi/question1/graf/graf-017.html
с небольшими изменениями. При таком способе очень страдает качаство.
А с помощью стандартных процедур TJPEGImage можно уменьшить только в 2, 4 или 8 раз, хотелось бы большего.


Nell   (2008-08-19 16:58:00) [1]


> antonn ©   (19.08.08 15:51) [9]
> :)
> http://delphimaster.ru/cgi-bin/forum.pl?id=1219132442&n=7


Спасибо. Это самый лучший вариант из того, что я нашла :))) Оказывается всё так просто :)))


oldman   (2008-08-19 15:59:00) [2]


> Nell   (19.08.08 15:56) [10]


А зачем, если их не читает даже автор?


Nell   (2008-08-19 15:56:00) [3]


> > Nell   (19.08.08 15:45) [7]
> > Стандартная функция уменьшает с гораздо меньшей потерей
>
> > качества.
>
>
> А зачем лез с вопросом?
> <Цитата>


Ты вообще вопросы на которые пытаешься ответить читаешь?


oldman   (2008-08-19 15:51:00) [4]


> Nell   (19.08.08 15:45) [7]
> Стандартная функция уменьшает с гораздо меньшей потерей
> качества.


А зачем лез с вопросом?


antonn   (2008-08-19 15:51:00) [5]

:)
http://delphimaster.ru/cgi-bin/forum.pl?id=1219132442&n=7


Nell   (2008-08-19 15:45:00) [6]

Спасибо, помогли, профи!

Стандартная функция уменьшает с гораздо меньшей потерей качества. Всё дело в алгоритме.


oldman   (2008-08-19 15:38:00) [7]


> Nell   (15.08.08 15:19)  
> Никто не знает как уменьшить JPEG.


> Nell   (19.08.08 15:33) [4]
> К сожалению, после подобных преобразований качество изображения
> становится ужасным


Угадай с трех раз -
Если бы можно было уменьшить без потери качества, этого не сделали бы нормальные разработчики работы с jpeg? Не был бы изменен сам формат jpeg? Или они так, зазря зарплату получают?


DVM   (2008-08-19 15:35:00) [8]


> Nell   (19.08.08 15:33) [4]

твое желание похоже на желание выпить половину содержимого бутылки, не открывая бутылку.


Nell   (2008-08-19 15:33:00) [9]

К сожалению, после подобных преобразований качество изображения становится ужасным


antonn   (2008-08-15 16:29:00) [10]

procedure TForm1.Button1Click(Sender: TObject);
var
 bmp: TBItmap;
 jpg: TJpegImage;
 scale: Double;
begin
 if opendialog1.execute then
 begin
   jpg := TJpegImage.Create;
   try
     jpg.Loadfromfile( opendialog1.filename );
     if jpg.Height > jpg.Width then
       scale := 50 / jpg.Height
     else
       scale := 50 / 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 );
       {Draw thumbnail as control}
       Self.Canvas.Draw( 100, 10, bmp );
       {Convert back to JPEG and save to file}
       jpg.Assign( bmp );
       jpg.SaveToFile(ChangeFileext( opendialog1.filename, '_thumb.JPG' ));
     finally
       bmp.free;
     end;
   finally
     jpg.free;
   end;
 end;
end;


easy   (2008-08-15 16:01:00) [11]

http://www.swissdelphicenter.ch/torry/showcode.php?id=1896


Anatoly Podgoretsky   (2008-08-15 15:24:00) [12]

> Nell  (15.08.2008 15:19:00)  [0]

Все операции с контентом осуществляются только над BitMap, даже если это и скрыто от конечного пользователя и ты тоже так поступай.


Наверх

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