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

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

Конвертиорвание jpeg в gif.


parasolka ©   (2008-10-31 12:51:00) 

Здравствуйте. Надо сконвертировать jpeg в gif. Для этого использую компонент TGifImage из RxLib. Делаю следующим образом.

var
g: TGifImage;
b: TBitmap;
j: TJpegImage;
begin
 j:=TJpegImage.Create;
 b:=TBitmap.Create;
 j.LoadFromFile('C:\NetExchange\2.jpg');
 g:=TGifImage.Create;
 g.Assign(b);
 g.SaveToFile('C:\NetExchange\test.gif');
 b.Free;
 g.Free;
 j.Free;
end


Так все работает. Проблема в том, что на практике jpeg находится в TMemoryStream. Как тогда загнать его в TBitmap? Заранее благодарен.


CodeMaster   (2008-11-02 22:11:00) [1]

А вот так нелегче?

procedure ConvertJPEGToGIF(Dest,Source: FileName);
var
Ext: String;
GIF: TGIFImage;
JPEG: TJPEGImage;
begin
if not FileExists(Source) then Exit;
Ext:= ExtractFileExt(Source);
if (Ext <> '.jpg') or (Ext <> '.jpeg') then Exit;
JPEG:= TJPEGImage.Create;
GIF:= TGIFImage.Create;

JPEG.LoadFromFile(Source);
GIF.Width:= JPEG.Width;
GIF.Height:= JPEG.Height;
GIF.Canvas.Draw(0,0,JPEG);
GiF.SaveToFile(Dest);

JPEG.Free;
GIF.FRee;
end;
Точно не помню какой метод у GIF ну попробуй ещё вот так

procedure ConvertJPEGToGIF(Dest,Source: FileName);
var
Ext: String;
GIF: TGIFImage;
JPEG: TJPEGImage;
Bmp1: TBitmap;
begin
if not FileExists(Source) then Exit;
Ext:= ExtractFileExt(Source);
if (Ext <> '.jpg') or (Ext <> '.jpeg') then Exit;
JPEG:= TJPEGImage.Create;
GIF:= TGIFImage.Create;
Bmp1:= TBitmap.Create;

JPEG.LoadFromFile(Source);
Bmp1.Width:= JPEG.Width;
Bmp1.Height:= JPEG.height;
Bmp1.Draw(0,0,JPEG);
GiF.Assign(BMp1);
GiF.SaveToFile(Dest);
Bmp1.Free;
JPEG.Free;
GIF.FRee;
end;

Впринципе должно работать. Не тестировал, поэтому не знаю точно.


tesseract   (2008-11-01 14:11:00) [2]


> Как тогда загнать его в TBitmap? Заранее благодарен.


DibNeeded смотри.


Palladin   (2008-10-31 13:02:00) [3]

а что, у TJPEGImage нет метода LoadFromStream ?


Наверх

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