|
|
|
|
Изменения размера файлов формата JPEG
»»»
Andrej (19.07.00 08:17) Я недавно начал заниматься Delphi и столкнулся с
проблемой изменения размера файлов формата JPEG. Вот что я пытаюсь
сделать === Cut ===
var b1,b2: TJpegImage;
begin b1:=TJPEGImage.Create; b2:=TJPEGImage.Create; b1.LoadfromFile('01.jpg'); b2.Width:=b1.Width div 2; b2.SaveToFile('02.jpg'); end;
===
Cut ===
Все ноpмально компилиpyется, но пpи запyске вылетает окно
виндов, мол не могy менять pазмеp файлов JPEG: "Cannot change the size of
JPEG Image". Чего делать? Может кто-нибyдь подкинет готовyю пpоцедypкy
для изменения pазмеpа, я бы по ней pазобpался. БМП изменять наyчился, но
как не бился под JPEG никак не yдалосьпpиспособить этy пpоцедypy. Может в
BMP надо пеpеводить? Я пытался юзать метод DIBNeeded, но честно говоpя
ничего толком не вышло. Помогите, кто может. Спасибо.
»»»
Merlin (19.07.00 17:31) 1. В приведенном коде ошибка. Зачем b2 ? Ведь ты
в него картинку-то не грузишь. 2. Попробуй менять не b1.width , а его
Canvas, может получится... 3. Создай b2 с нужным размером и СКОПИРУЙ в
него картинку из b1 с масштабированием (функция bitblt, кажется
:)
»»» GHOST - iconsun@nm.ru (19.07.00 21:46) Вот простенькая
процедура:
procedure divJpeg; var b1,b2: TJpegImage; c1: TBitmap; begin b1:=TJPEGImage.Create; b2:=TJPEGImage.Create; c1:=TBitmap.Create; b1.LoadfromFile('С:\01.jpg'); c1.Height:=b1.Height; c1.Width:=b1.Width div 2; c1.Canvas.Draw(0,0,b1); b2.Assign(c1); b2.SaveToFile('C:\02.jpg'); b1.Free; b2.Free; c1.Free; end;
Таким
образом можно преобразовывать .jpg в .bmp и обратно... А Canvas так
просто в TJpegImage недоступен...
Комментарий от roman
(roman057@e-mail.ru) Главное - фантазия. Я додумался использовать TChart,
где картинка была Background, вот только сохранять их после
изменения TChart умеет только в bmp, но это уже не проблема.
-= Из
конференции сайта MASTERS OF DELPHI (http://delphi.mastak.com) =-
|
Copyright ©
"Мастера DELPHI" E-mail:
delphi@mastak.com
http://www.delphimaster.ru |
Источник получения информации: http://www.delphimaster.ru
|
|