Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Image1->Picture->LoadFromFile("Logo.jpg")


Автор: SenkraD 26.4.2007, 10:25
Почему он выдаёт ошибку - в дизайн-тайме грузится же.

Я понимаю что там редактор для этого свойства зарегистрирован, но я не очень хочу получать разширения загружаемого файла и по нему создавать тот или иной клас (TBitmap, TJPEGImage), а потом асайнить.

Не подсакжите как можно решить эту проблему

Автор: Rodman 26.4.2007, 10:31
Таким образом можно загрузить только *.bmp...
Для *.jpg надо конвертор дописывать...

Автор: DissDoc 26.4.2007, 10:36
Код

include <jpeg.hpp> 

TJPEGImage *jpeg = new TJPEGImage();
 jpeg->LoadFromFile("test.jpeg");
 TBrush *Brush = new TBrush();
 Brush->Bitmap = new Graphics::TBitmap();
 Brush->Bitmap->Assign(jpeg);
 Image1->Canvas->Brush = Brush;
 Image1->Canvas->FillRect(Rect(0,0,jpeg->Width,jpeg->Height));
 delete jpeg;


... в первом приближении

Автор: SenkraD 26.4.2007, 10:40
не как преобразововать я знаю, просто не очень хотел.
Видимо придётся таки определять тип файла и ...

Автор: Zigmyndshtein 1.5.2007, 09:59
люди добрые а подскажите как быть с PCX

Автор: Fazil6 1.5.2007, 10:22
Цитата(SenkraD @  26.4.2007,  10:25 Найти цитируемый пост)
Не подсакжите как можно решить эту проблему

при загрузке можно сделать вот так
Код

TPicture *jpgPicture = new TPicture();
        jpgPicture->RegisterFileFormat(__classid(TJPEGImage), "jpg", "jpg",
                                       __classid(TJPEGImage));
        delete jpgPicture;

и после этого будет все грузится без дополнительных телодвижений


Автор: codelord 1.5.2007, 11:06
Цитата(Rodman @  26.4.2007,  06:31 Найти цитируемый пост)
Таким образом можно загрузить только *.bmp...
Для *.jpg надо конвертор дописывать... 

надо только в хедере например Unit1.h
вставить #include <jpeg.hpp>
и загружать обычным образом.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)