Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2015, 09:08   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
unknown file extension при выполнении LoadFromFile
Ну да. jpeg.hpp переопределяет метод этот. Если он не подключен - метод не переопределен новым, и читать JPEG не может. Вроде все законно
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.10.2015, 09:18   #12
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Вот именно этого я и не понимаю...
Метод переопределяется в каком-то определенном классе, если вы исползуеете другой класс ничего не изменится...

Кто ни будь, скиньте этот jpeg.hpp, аж прямо интересно стало...
waleri вне форума Ответить с цитированием
Старый 02.10.2015, 09:30   #13
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Он не переопределяет метод, там просто класс TJpegImage. Можно либо самому создать экземпляр этого класса и присвоить куда-то типа myimage.Picture.Graphics, либо если файл, то наверно каким-то образом TImage сам выбирает нужный класс (наверно по расширению, это вроде где-то регистрируется этим модулем).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 02.10.2015 в 09:35.
Alex11223 вне форума Ответить с цитированием
Старый 02.10.2015, 09:37   #14
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Кто ни будь, скиньте этот jpeg.hpp, аж прямо интересно стало...
Держите. Правда он Борландовский, но думаю и в других средах работать будет.
Вложения
Тип файла: rar jpeg.rar (1.6 Кб, 5 просмотров)
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 02.10.2015, 09:39   #15
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Из восьмой студии
Вложения
Тип файла: rar Vcl.Imaging.jpeg.rar (1.9 Кб, 6 просмотров)
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 02.10.2015, 09:48   #16
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Правда он Борландовский, но думаю и в других средах работать будет.
В смысле работать?
Не будет конечно, там ж на каждом шагу всякие DELPHICLASS, PASCALIMPLEMENTATION, __property, не говоря уж об инклюдах остальных борландовских хедеров и о том, что в хедере только объявление класса, а не реализация, так что работать нечему.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.10.2015, 10:09   #17
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Я так понимаю решение в этой строчке:
#pragma link "jpeg.obj"
waleri вне форума Ответить с цитированием
Старый 02.10.2015, 10:17   #18
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну это вроде просто хедер для Дельфийской библиотеки. Надо jpeg.pas смотреть.

Я ж написал уже что примерно там происходит (насколько помню из изучения чего-то типа стороннего TPNGImage).

TPicture нужно просто дать экземпляр соответствующего класса (TBitmap, TJpegImage, ...), являющегося наследником TGraphics или чего-то типа того.
Возможно LoadFromFile (класса TPicture) умеет выбирать нужный по расширению (TJpegImage и т.п. где-то глобально регистрируются при подключении, не знаю как в С++ это сделано, в Дельфи/Паскале просто есть блок Initialization у модуля)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 02.10.2015 в 10:24.
Alex11223 вне форума Ответить с цитированием
Старый 02.10.2015, 10:31   #19
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Держите .pas. Из восьмой также.
Вложения
Тип файла: rar Vcl.Imaging.jpeg.rar (14.3 Кб, 4 просмотров)
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 02.10.2015, 10:35   #20
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

там что-то типа статического конструктора, который выполнится до кода приложения и зарегистрирует TJPEGImage как загрузчик JPEG файлов.
там есть такой менагер, его и юзает TPicture->LoadFromFile.

разбирал это на Делфи давно еще, тож интересно было.

В Делфи это секция initialization.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещая папки с экзел файлом и jpg картинками, ссылки на jpg не работают?? Igorilla Microsoft Office Excel 0 16.03.2013 21:36
Ошибка в Delphi: unknown picture file extension(.) ДениC Общие вопросы Delphi 35 12.05.2011 14:29
как узнать цвет пикселя в TImage , если там не bmp а jpg Dima_Dima Общие вопросы Delphi 0 31.05.2010 14:12
Загрузка *.jpg фалов в Timage Delphi7 Dalagardi Помощь студентам 3 23.03.2010 08:47