Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 288
от 04.01.2006, 03:09

Администратор:Калашников О.А.
В рассылке:Подписчиков: 244, Экспертов: 40
В номере:Вопросов: 1, Ответов: 2


Вопрос № 32418: Добрый день! Вот такая трабла у меня: не знаю как сохранить изображение в файл из объекта CImage... Метод Save, конечно есть, но один из его параметров (тип сохраняемого файла), задается константой, которую компилятор не узнает! Чего делать,...

Вопрос № 32.418
Добрый день!

Вот такая трабла у меня: не знаю как сохранить изображение в файл из объекта CImage... Метод Save, конечно есть, но один из его параметров (тип сохраняемого файла), задается константой, которую компилятор не узнает! Чего делать, куда бечь?

Microsoft Visual Studio .NET
Отправлен: 30.12.2005, 03:08
Вопрос задал: Юрицын Андрей Андреевич (статус: 2-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Лучников Юрий Владимирович
Здравствуйте, Юрицын Андрей Андреевич!
Microsoft Visual Studio .NET у меня не установлен, но путь решения вопроса стандартен - нужно читать во встроенном хелпе описание объекта CImage.

Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: 8-ой класс)
Отправлен: 30.12.2005, 08:04

Отвечает: estiGi
Здравствуйте, Юрицын Андрей Андреевич!
Да, действительно есть такая кака. Есть два варианта решения проблемы - правильный и тоже работающий :))
Дело в том, что эти константы определены в пространстве GDI+, который и использует класс CImage. Если у тебя нет этой библиотеки, то естессно ты их не подключишь. Хотя... если у тебя нет бибилиотеки GDI+, то класс CImage работать не будет, потому он строится на ней

Правильный вариант -

#include "atlimage.h"
#include "gdiplus.h" // подключать в общем то не обязательно в данном случае

void Save()
{
CImage img;
img.Save ("c:image.bmp", Gdiplus::ImageFormatBMP);
}

В МСДН описаны только 4 формата, но можешь попробовать все эти, должны тоже работать -
ImageFormatGIF,
ImageFormatBMP,
ImageFormatEMF,
ImageFormatWMF,
ImageFormatJPEG,
ImageFormatPNG,
ImageFormatTIFF,
ImageFormatIcon

Работающий вариант -

img.Save ("c:image.bmp");

т.е. можно не указывать формат, достаточно корректного расширения я указанного файла.
Ответ отправил: estiGi (статус: 10-ый класс)
Отправлен: 30.12.2005, 14:42
Оценка за ответ: 5
Комментарий оценки:
Спасибо, Ваш совет помог мне. Однако (вот мистика!) ну никак не хочет он признавать ImageFormat`ы как известные и объявленные в прострастве GDIPlus. Работает только если не указывать идентификатора вообще.

В любом случае спасибо :-)


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.cplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное