Форум: "Начинающим";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
ВнизУменьшить JPEG Найти похожие ветки
← →
Nell (2008-08-15 15:19) [0]Никто не знает как уменьшить JPEG.
В интерненте есть только примерно одинаковые варианты с использованием TBitMap, что-то типа такого
http://e-dok.narod.ru/delphi/question1/graf/graf-017.html
с небольшими изменениями. При таком способе очень страдает качаство.
А с помощью стандартных процедур TJPEGImage можно уменьшить только в 2, 4 или 8 раз, хотелось бы большего.
← →
Anatoly Podgoretsky © (2008-08-15 15:24) [1]> Nell (15.08.2008 15:19:00) [0]
Все операции с контентом осуществляются только над BitMap, даже если это и скрыто от конечного пользователя и ты тоже так поступай.
← →
easy © (2008-08-15 16:01) [2]http://www.swissdelphicenter.ch/torry/showcode.php?id=1896
← →
antonn © (2008-08-15 16:29) [3]
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;
← →
Nell (2008-08-19 15:33) [4]К сожалению, после подобных преобразований качество изображения становится ужасным
← →
DVM © (2008-08-19 15:35) [5]
> Nell (19.08.08 15:33) [4]
твое желание похоже на желание выпить половину содержимого бутылки, не открывая бутылку.
← →
oldman © (2008-08-19 15:38) [6]
> Nell (15.08.08 15:19)
> Никто не знает как уменьшить JPEG.
> Nell (19.08.08 15:33) [4]
> К сожалению, после подобных преобразований качество изображения
> становится ужасным
Угадай с трех раз -
Если бы можно было уменьшить без потери качества, этого не сделали бы нормальные разработчики работы с jpeg? Не был бы изменен сам формат jpeg? Или они так, зазря зарплату получают?
← →
Nell (2008-08-19 15:45) [7]Спасибо, помогли, профи!
Стандартная функция уменьшает с гораздо меньшей потерей качества. Всё дело в алгоритме.
← →
oldman © (2008-08-19 15:51) [8]
> Nell (19.08.08 15:45) [7]
> Стандартная функция уменьшает с гораздо меньшей потерей
> качества.
А зачем лез с вопросом?
← →
antonn © (2008-08-19 15:51) [9]:)
http://delphimaster.net/view/8-1219132442/
← →
Nell (2008-08-19 15:56) [10]
> > Nell (19.08.08 15:45) [7]
> > Стандартная функция уменьшает с гораздо меньшей потерей
>
> > качества.
>
>
> А зачем лез с вопросом?
> <Цитата>
Ты вообще вопросы на которые пытаешься ответить читаешь?
← →
oldman © (2008-08-19 15:59) [11]
> Nell (19.08.08 15:56) [10]
А зачем, если их не читает даже автор?
← →
Nell (2008-08-19 16:58) [12]
> antonn © (19.08.08 15:51) [9]
> :)
> http://delphimaster.net/view/8-1219132442/
Спасибо. Это самый лучший вариант из того, что я нашла :))) Оказывается всё так просто :)))
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.064 c