-
Vinum (07.12.07 22:11) [0]Чтоб потом эта PGIF анимировалась
Помогите кто чем может :) -
Dimaxx © (08.12.07 16:04) [1]Причем здесь StringStream и GIF??
-
Vinum (08.12.07 18:32) [2]В общем дело так: смысл программы, к-ю я пишу, в том, что из ZIP архива, в котором находятся GIF файлы, при помощи либы SciZipFile by Patrik Spanel я эти самые файлы хочу "извлекать" и при помощи KOLGIF анимировать. На сайте по KOL нашел пример с использованием KOLGIF, в SciZipFile тоже был пример, но там был пример с отображением из архива простых BMP. Я попытался сделать аналогичное, но когда в архиве были GIF файлы, и вот возникла заморочка, прилагаю кусок кода из примера SciZipFile:
var
StrStream : TStringStream ;
ABitmap : TBitmap ;
...
{ Convert string to stream }
StrStream := TStringStream.Create(ZipFileMem.Data[ListBox1.ItemIndex]) ;
.....
{ Assign bitmap }
ABitmap := TBitmap.Create ;
ABitmap.LoadFromStream (StrStream) ;
и все прекрасно работает :)
Вопрос тогда по-другому задам: как мне получив StrStream GIF файла прокрутить его при помощи KOLGIF -
> [2] Vinum (08.12.07 18:32)
В VCL есть свой PGif -
Vinum (08.12.07 19:34) [4]> ANTPro (08.12.07 19:04)
Какой? Где? в D6 он есть?
сорри за такой тупой вопрос :) -
Дмитрий К © (08.12.07 22:23) [5]В вкл гифа нет.
По сабжу:unit Unit1;
...
implementation
{$R *.dfm}
uses KOL, KOLGif;
var
GifShow: PGifShow;
KolForm: PControl;
KolStream: PStream;
procedure TForm1.Button1Click(Sender: TObject);
begin
KolStream := NewMemoryStream;
KolStream.Write(Pointer(StrStream.DataString)^, Length(StrStream.DataString));
KolForm := NewForm(nil,'');
KolForm.HasBorder := False;
GifShow := NewGifShow(KolForm);
KolStream.Position := 0;
GifShow.LoadFromStream(KolStream);
GifShow.ResizeParent;
Windows.SetParent(KolForm.Handle, Self.Handle);
KolForm.Show;
KolStream.Free;
(Sender as TButton).Enabled := False;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
KolForm.Free;
Button1.Enabled := True;
end;
end. -
> [5] Дмитрий К © (08.12.07 22:23)
> В вкл гифа нет.
В JVCL много чего есть.
> [5] Дмитрий К © (08.12.07 22:23)
> KolStream: PStream;
Интересно что будет если PStream заменить на TStringStream :) -
Дмитрий К © (08.12.07 23:56) [7]
> В JVCL много чего есть.
JVCL не входит в "стандартную комплектацию".
Правда в Delphi 2007 gif есть.
> Интересно что будет если PStream заменить на TStringStream :)
Это риторический вопрос? -
> [7] Дмитрий К © (08.12.07 23:56)
> JVCL не входит в «стандартную комплектацию».
KOL тоже :)
> [7] Дмитрий К © (08.12.07 23:56)
> Это риторический вопрос?
Это не вопрос :o) -
Дмитрий К © (09.12.07 00:19) [9]Сдаюсь :)