| 
| 
 | Вопрос # 2 311/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!Не подскажите, как можно добавить GIF рисунок (1.gif) в ресурс, и затем его извлечь в Image1 (gif поддерживает)? Спасибо!
 
|  |   Вопрос задал: Хитманчан (статус: Посетитель)Вопрос отправлен: 17 января 2009, 12:41
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Ученый Здравствуйте, Хитманчан! Есть такой компонент, который выложен на данном сайте....он поможет вам разобраться этой проблемой... Скачать можно здесь... 
|  | Ответ отправил: Ученый (статус: 8-ой класс)Время отправки: 17 января 2009, 16:01
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 8; последнее сообщение — 18 января 2009, 12:03; участников в обсуждении: 4. 
|   | Вадим К (статус: Академик), 17 января 2009, 16:14 [#1]:Точно также, как и JPEG. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Хитманчан (статус: Посетитель), 17 января 2009, 16:28 [#2]:Ученый, да стоит он у меня. просто в чем прблема - в двух словах опиш программу - нажимаешь на баттон - появляется форма - на ней анимация и играет mp3 - mp3 проиграло - форма закрылась... так вот если еще раз нажать на баттон, что бы снова появилась форма с той же анимацией - то она не проигрывается (если прошла полностью при первом заходе) или продолжает с момента остановки - вот я хочу, что бы она обнулялась просто... 
 Вадим К, спасибо - сейчас попробую...
 |  
|   | Ученый (статус: 8-ой класс), 17 января 2009, 17:12 [#3]:Хех...ошибка у вас в 23 строке.....Код который пишете для бутона выложите... |  
|   | Хитманчан (статус: Посетитель), 17 января 2009, 17:17 [#4]:Что-то не входит - загружаю GIF, как и JPEG загружал - картинку GIF загружает - а анимация идти не хочет... 
 Может подскажите. что неправильно делаю... Вот код... (прошу не пугаться, что там массив для 1 картинки - просто лень убирать было)
 В самом ресурсе писал KARTINKO01 RCDATA kartinko01.gif
 
 unit Unit1;
 
 interface
 
 uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls, StdCtrls, jpeg, PNGButton, GIFImage;
 
 type
 TForm1 = class(TForm)
 Image1: TImage;
 Image2: TImage;
 PNGButton1: TPNGButton;
 PNGButton2: TPNGButton;
 PNGButton3: TPNGButton;
 procedure FormCreate(Sender: TObject);
 
 private
 { Private declarations }
 public
 { Public declarations }
 end;
 
 const
 PICTURES_COUNT = 1;
 PictureNames: Array [1..PICTURES_COUNT] Of String =
 ('KARTINKO01');
 var
 Form1: TForm1;
 PictureNumber: Byte = PICTURES_COUNT;
 
 implementation
 
 {$R *.dfm}
 
 procedure LoadGIFFromRes(const AJPEGName: string; APicture: TPicture);
 var
 ResourceStream: TResourceStream;
 GIFImage: TGIFImage;
 begin
 ResourceStream := TResourceStream.Create(HInstance, AJPEGName, RT_RCDATA);
 try
 GIFImage := TGIFImage.Create;
 try
 GIFImage.LoadFromStream(ResourceStream);
 APicture.Bitmap.Assign(GIFImage);
 finally
 GIFImage.Free;
 end;
 finally
 ResourceStream.Free;
 end;
 end;
 
 procedure TForm1.FormCreate(Sender: TObject);
 begin
 Position:=poDesktopCenter;
 VertScrollBar.Visible:=False;
 HorzScrollBar.Visible:=False;
 Form1.DoubleBuffered:=true;
 PNGButton2.Enabled:=false;
 PNGButton1.Enabled:=false;
 LoadGIFFromRes(PictureNames[1], Image1.Picture);
 PictureNumber := 1;
 end;
 
 end.
 |  
|   | Хитманчан (статус: Посетитель), 17 января 2009, 17:22 [#5]:Короче с ресурсом я видно поспешил немного... А там где не через ресурс - там на баттон ставлю Form2.Show - и вот оно показывает когда форму картинку играет... если еще раз запросить показать форму - то больше не играет) |  
|   | Ученый (статус: 8-ой класс), 17 января 2009, 17:27 [#6]:это все потому что вы код для показания анимации пишете в FormCreate.... а надобно в FormShow.... |  
|   | Хитманчан (статус: Посетитель), 17 января 2009, 17:37 [#7]:Ученый, это просто другой пример в котором только 1 форма - и при запуске проги ее показывает сразу... а анимация не идет - переставил на OnShow - тоже самое... Думал, если с этого примера загружу GIF - то переставлю на OnShow в прогу с 2-мя формами - а тут не хочет что-то... |  
|   | Amidamaru (статус: 4-ый класс), 18 января 2009, 12:03 [#8]:"нажимаешь на баттон - появляется форма - на ней анимация и играет mp3 - mp3 проиграло - форма закрылась... так вот если еще раз нажать на баттон, что бы снова появилась форма с той же анимацией - то она не проигрывается (если прошла полностью при первом заходе) или продолжает с момента остановки - вот я хочу, что бы она обнулялась просто..." 
 Нужно просто создавать форму динамически:
 1) в Project - Options перенести Form2 из Auto-create в Avaliable
 2) вместо Form2.show использовать сл. код:
 Application.CreateForm(TForm2, Form2);
 try
 Form2.ShowModal;
 finally
 Form2.Free;
 end;
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |