![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Guest_irina |
|
|||
|
Unregistered |
Можно ли получить побайтовый и попиксельный доступ к графическим объектам модуля JPEG ? Если да, то как это сделать?
|
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
попиксельно читать картинку хочеш так или нет
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Проще всего отобразить его в стандартный Bitmap и воспользоваться функциями GDI
|
|||
|
||||
| Guest_irina |
|
|||
|
Unregistered |
(DENNN)
Если можно, маленький пример, или просто укажите, какие функции Вы имеете в виду. Я пробовала через BITMAP -не получилось. Я подумала, что JPEG имеет другую структуру из-за компримирования. спасибо |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
JPEG отличается от битмапа прежде всего способом хрнения. Он может быть сжат и информация о самом изображении на диске хранится в другом виде.
В моем примере можно создать DIB битмап или скажем создать DC-совместимый с DC экрана (см. MSDN к VC6 Using Bitmaps->Capturing Screen), выбрать там битмап и отобразить в него JPG-картинку. Вуаля, таже картинка есть теперь и в битмапе! Для загрузки из файла и отображения на экран есть несколько способов. Можно использовать функции GDI+, можно взять чужую библиотеку (например на www.codeproject.com). Мне больше всего нравиться OLE компонент IPicture. Он есть во всех версиях виндов и пользоваться им очень удобно (если конечно сможешь разобраться). |
|||
|
||||
| Guest_irina |
|
|||
|
Unregistered |
(DENNN)
Спасибо за ответ. Вопрос состоит не в том, как картинку отобразить на экране. Это у меня получилось. Не получается доступ к отдельным пикселам через BITMAP. А где можно прочитать про IPicture? |
|||
|
||||
| DENNN |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Так я и предлагаю поэтому скопировать в битмап чтоб там GetPixel вызвать или подобный оператор GDI
Открываешь MSDN, закладка Index, вбиваешь IPicture. Дальше по ссылкам. |
||||
|
|||||
| Paradox |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1135 Регистрация: 18.11.2002 Где: Россия Репутация: нет Всего: 1 |
-------------------- --- |
|||
|
||||
| -=Baa=- |
|
|||
|
Unregistered |
А ты случаем не на билдере пишешь?
|
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
И как на экран выводишь раскажи.
|
|||
|
||||
| Guest_irina |
|
|||
|
Unregistered |
(DENNN)
Я использовала класс CImage для вывода на экран и доступ к пикселам уже тоже получился спасибо за советы (Baa) пишу в Visual C++ |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
CImage ето че за класс. Откуда нибудь скачанный?
|
|||
|
||||
| Paradox |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1135 Регистрация: 18.11.2002 Где: Россия Репутация: нет Всего: 1 |
У меня добавлялся когда я Picture из списка активиксов взял ...в МСДН про него есть
-------------------- --- |
|||
|
||||
| Guest_irina |
|
|||
|
Unregistered |
(DENNN)
В Visual Studio .Net в Help набираешь CImage, там написано, что он из ATL Library |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Вон в чем дело. Ты еще и ATL используешь.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |