Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как подключить CImage к MFC? 
V
    Опции темы
torero
Дата 11.4.2008, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



 У меня такая задача: есть файл-картинка file.jpg, её нужно вывести на экран в окне "вид".
  В "поиске" все советуют использовать CImage, но он из класса ATL, подключаю библиотеку #include "atlimage" и если версия MFC 7.0, то класс CImage будет работать. У меня видимо меньше 7.0,
поэтому транслятор даёт сообщение No declare CImage.
Как ещё можно подключить CImage, или есть другой способ работы с файлами .jpg?
Я собирался сделать так:
  CImage image;
  image.Load("file.jpg");     // читаю файл .jpg
  image.Save("file.bmp");   // перевожу его в файл .bmp
  HBITMAP hbmImage=(HBITMAP)::LoadImage(0,"file.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
  ASSERT(NULL!=hbmImage);
   и дальше вывожу на экран файл .bmp , будет так работать или нет?
PM MAIL   Вверх
Andrey44
Дата 11.4.2008, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: 12
Всего: 26





--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
torero
Дата 12.4.2008, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



 Если по другому нельзя, то это надолго. К тому же, пример дан для WINAPI. Спасибо за совет.
PM MAIL   Вверх
Rapalex
Дата 12.4.2008, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 6
Всего: 8



torero, Если ты используеш только MFC и тебе не нужно GDI+ (как сказал Andrey44) то и не надо его использовать.
Можно использовать то самый CImage, просто так:
Код

CImage image;
image.Load("file.jpg");     // читаю файл .jpg
HBITMAP hbmImage = image;




--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
torero
Дата 13.4.2008, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



 Но я написал в своём вопросе, что у меня так просто не получается. Транслятор даёт ошибку
 No declare CImage . Наверно это потому, что класс CImage относится к платформе ATL.
 Что делать? Искать новый VC++ 2008, или можно к MFC подключить ATL, или ещё что?
 У меня CD c Visual C++ 6.0 выпущен в 2002 году, но и тогда вроде бы уже работали с файлами .jpg

Это сообщение отредактировал(а) torero - 13.4.2008, 08:44
PM MAIL   Вверх
Rapalex
Дата 13.4.2008, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 6
Всего: 8



У тебя какая студия?
Инклюд пропиши.


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
torero
Дата 14.4.2008, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



  Я добавлял #include "atlimage" (или нужно другой инклюд), транслятор пишет, что не может открыть такую библиотеку.
У меня не Studio, просто Visual C++ 6.0    Вообще то у меня есть CD со студией, но диск оказался с ошибками и не инсталлируется. Может быть оттуда что-то скопировать?
PM MAIL   Вверх
Rapalex
Дата 14.4.2008, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 6
Всего: 8



torero, определись с терминами, есть компилятор и он иклюдит файлы. Есть линковщик, он линкует библиотеки (либки). а как понять 
Цитата(torero @  14.4.2008,  12:38 Найти цитируемый пост)
транслятор пишет, что не может открыть такую библиотеку
 я честно говоря затрудняюсь.

ЗЫ, пользуйся тегом кода.

Цитата
Я добавлял #include "atlimage"
Например сделай так:
Код

#include <atlimage.h>


Это сообщение отредактировал(а) Rapalex - 14.4.2008, 21:26


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
torero
Дата 16.4.2008, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



   На определение CImage image компилятор выводит сообщение:
    error C2501: 'CImage': missing storage-klass or type specifiers
   На включение #include "atlimage.h" или #include <atlimage.h> тоже компилятор даёт вторую ошибку
    fatal error C1083: Cannot open include file: 'atlimage.h': No such file or directory

 Если причина в моих устаревших MFC или SDK, то можно принять совет статьи, ссылку на которую дал
 Andrey44. Там советуют скачать из инета "новый платформ SDK". Допустим я его скачаю, но куда и как
 его потом подключить? В статье об этом ничего не говорится. Можете дать совет или ссылку на 
 подробные объяснения, если они есть?
PM MAIL   Вверх
Rapalex
Дата 16.4.2008, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 6
Всего: 8



Цитата(Rapalex @  13.4.2008,  20:49 Найти цитируемый пост)
У тебя какая студия?




--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
Andrey44
Дата 16.4.2008, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: 12
Всего: 26



У тебя студия какая?



 smile упс немного не успел

Это сообщение отредактировал(а) Andrey44 - 16.4.2008, 11:32


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
torero
Дата 17.4.2008, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



   На CDcнаписано:
 Microsoft Visual C++ 6.0
 Microsoft Visual Studio Service Pack 5
PM MAIL   Вверх
Rififi
Дата 17.4.2008, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 2
Всего: 36



torero, 
слишком старый компилятор.
В штатной ATL версии 3.0 такого класса не существовало. Он появился только начиная с ATL 7.x (идущей в составе компилятора VC 7.x)
PM MAIL   Вверх
torero
Дата 18.4.2008, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 177
Регистрация: 1.2.2006

Репутация: нет
Всего: нет



  Спасибо, значит нужно доставать новый VC++200N . 
PM MAIL   Вверх
42na
Дата 29.5.2008, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.5.2008

Репутация: нет
Всего: нет



может подскажет кто как можно повернуть картинку (CImage) на 90 градусов
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.