На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Графика / Изменения размера файлов формата JPEG Сделать домашней страницей Добавить в избранное Написать писмо

Изменения размера файлов формата 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
Hosted by uCoz