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

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

Как jpg показать на Canvas [D7, XP]


Alex_C ©   (2011-02-04 11:08:00) 

Пытаюсь сконвертировать jpg в bmp, чтобы затем его вывести на канвасе. Делаю как написано в FAQ


procedure JPEGtoBMP(const FileName: TFileName);
var
 jpeg: TJPEGImage;
 bmp:  TBitmap;
begin
 jpeg := TJPEGImage.Create;
 try
   jpeg.CompressionQuality := 100; {Default Value}
   jpeg.LoadFromFile(FileName);
   bmp := TBitmap.Create;
   try
     bmp.Assign(jpeg);
     bmp.SaveTofile(ChangeFileExt(FileName, '.bmp'));
   finally
     bmp.Free
   end;
 finally
   jpeg.Free
 end;
end;


Однако при выводе полученного BitMap'а на канву происходит сильное изменение оттенков картинки. Как этого избежать?


MBo   (2011-02-04 11:28:00) [1]

Чтобы вывести jpg, его не надо преобразовывать. TCanvas.Draw разберется.

Хотя преобразование может понадобиться в некоторых случаях - например, при загрузке в TImage с последующим попиксельным доступом

(при чтении jpg ни к чему CompressionQuality трогать)


Наверх

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