|
Вопрос # 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;
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|