C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Работа с GIF, ///
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 в целом — "нерентабельно" ставить всё.

Вернуться в Вопросы программирования в C++Builder