Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 311

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Не подскажите, как можно добавить 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

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;
Приглашаю Вас на наш IRC-канал: #delphiintru в сети DalNet.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 29 февраля 2020, 08:56
Выполнено за 0.02 сек.
Рейтинг@Mail.ru