Al_exey |
Отправлено: 12.01.2007, 00:28 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
Помогите разобраться, как работать с GIF файлами в C++Builder 6? А точнее как загрузить анимированный GIF на форму? Скачал библиотеку ImageLib.
Отредактировано Al_exey — 12.01.2007, 00:30 |
|
olegenty |
Отправлено: 12.01.2007, 08:45 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
Кинь на форму TPMultiImage и загрузи картинку в этот компонент. Всё.
|
|
Al_exey |
Отправлено: 12.01.2007, 19:13 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
TPMultiImage — это конечно хорошо. Но не получается установить компоненты Imagelib в C++ Builder6. В каталоге программы есть ILCORP60.bpl, но он для Delphi. Инсталирую его, появляются вкладки с компонентами, но нет *.h файлов, и в связи с этим проект не компилится. Может что не так делаю, хотя все по инструкции... |
|
Al_exey |
Отправлено: 13.01.2007, 13:51 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
Помогите установить ImageLib в С++builder, скачал с этого сайта.
Инструкцией по установке пользовался, не получилось... |
|
aquanet sk |
Отправлено: 13.01.2007, 16:04 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 87
|
где-то вчера видел следующее: Как вставить рисунок gif в компонент Image
Для того, чтобы использовать стандартные компоненты для работы с файлами gif и jpeg в C++Builder, необходимо зарегистрировать данные типы файлов. Для регистрации напишите следующий код.
Для jpeg.
TPicture *Picture = new TPicture();
Picture->RegisterFileFormat(__classid(TJPEGImage), "jpg", "jpg", __classid(TJPEGImage));
delete Picture;
Для gif.
TPicture *Picture = new TPicture();
Picture->RegisterFileFormat(__classid(TGIFImage), "gif", "gif", __classid(TGIFImage));
delete Picture;
Код:
#include // включаем описание TGIFImage из библиотеки RXLib
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
// регистрируем .gif
TPicture *Picture = new TPicture();
Picture->RegisterFileFormat(__classid(TGIFImage), "gif", "gif",__classid(TGIFImage));
delete Picture;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("c:\\MyPicture.gif");
}
//-------------------------------------------
Теперь все работает нормально.
|
|
Al_exey |
Отправлено: 14.01.2007, 18:17 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
А можно попобробнее насчет:
"#include // включаем описание TGIFImage из библиотеки RXLib"
Что конкретно тут надо написать. Я у себя не нашел библиотеки RXLib... |
|
Doga |
Отправлено: 14.01.2007, 20:10 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
Библиотеку RxLib надо ставить отдельно. Здесь на сайте она есть.
|
|
olegenty |
Отправлено: 15.01.2007, 08:28 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
если хочешь воспользоваться ImageLib — создай собственный пакет по аналогии с пакетом для Delphi.
если хочешь пользоваться GIF от Rx, то лучше всего создать отдельный микропакетик с одним единственным компонентом для GIF, поскольку, если не собираешься пользоваться функционалом RxLib в целом — "нерентабельно" ставить всё.
|
|