Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.13;
Скачать: CL | DM;

Вниз

Нестандартное расширение битмапа   Найти похожие ветки 

 
Scote ©   (2003-09-14 20:55) [0]

Помогите кто-нибудь, мне для своей проги, где рисунки загружаются из отдельного файла (а не программного битового образа, когда Picture: TBitmap), нужно сделать "защиту от чайника", где графические файлы - обычные битмапы, но с другим расширением. Посредством компонента TImage методом LoadFromFile("битмап.другое_расширение") ничего не выходит, пишет об ошибке (в процессе прогона программы). Так же не надо меня за такой глупый вопрос ругать, я просто Delphi пользуюсь всего два месяца, причём это мой первый язык программирования.


 
Mihey ©   (2003-09-14 22:38) [1]

Ругать никого не буду, вопрос хороший. Дело в том, что при помощи TImage.LoadFromFile ты ничего не сделаешь, так как это по идее то же самое, что TImage.Picture.LoadFromFile, т.е. метод класса TPicture. Идея класса заключается в том, чтобы загружать самые различные виды графики, от bmp до ico. При этом надо же как-то определять, какого формата загруженные файлы. Это делается простым способом - опознаётся расширения файла. Следовательно, любое неопознаное расширение не проходит.

Но выход есть и как раз в использовании TBitmap. Его LoadFromFile не делает проверки на расширение и грузит из любого правильного bitmap-файла. То есть, ты создаёшь временный TBitmap, грузишь в него файл, присваиваешь это Bitmap свойству TImage.Picture.Bitmap, после чего удаляешь временный объект.


 
MBo ©   (2003-09-15 06:05) [2]

TPicture.RegisterFileFormat



Страницы: 1 вся ветка

Текущий архив: 2004.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
1-37633
Oleon
2003-12-26 16:47
2004.01.13
Здраствуйте. Как в Delphi сделать приложение с параметрами?


11-37594
BaRToV
2003-04-20 15:48
2004.01.13
kol.mastak.ru


1-37614
~GaMeRd~
2003-12-28 14:45
2004.01.13
использование RESурсов


6-37820
Сергей Н.
2003-10-03 09:42
2004.01.13
Как получить локальный IP адрес


6-37835
Manulo
2003-11-11 14:54
2004.01.13
Socket Error #10049