Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ANDROSMIT
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 2
#1

GDI+ и сохранение Bitmap* - C++

25.12.2013, 20:34. Просмотров 778. Ответов 0
Метки нет (Все метки)

Всем привет! Недавно начал использовать GDI+, так что приходится задавать тупые вопросы

Есть некий метод, который загружает из файла битмап, вырезает из него прямоугольник и должен сохранить в файл. Вот тут проблема: NewBitMap.Clone(); возвращает указатель на Bitmap, а сохранять можно только сам Bitmap.
Вопрос: Как сохранить вырезанное изображение?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void IEGDIp::CutRectangle()
{
    // Create a Bitmap object from a JPEG file.
    Bitmap NewBitMap(L"BACKGRND.bmp");
    Bitmap* Bitmap;
    // Clone a portion of the bitmap.
    Bitmap = NewBitMap.Clone(200, 200, 500, 500, PixelFormatDontCare);
 
    CLSID pngClsid;
    GetEncoderClsid(L"image/bmp", &pngClsid);
 
    Bitmap.Save(L"Save_BITMAP", &pngClsid, NULL); //не работает!
    
}
ЗЫ: 2 часа поисков ничего не дали
За помощь с меня огромное СПАСИБО!

Добавлено через 19 часов 36 минут
ААА... Вротмненоги!!1

Только сейчас узнал что к функции указателя можно подобраться используя "->"
Вот правильный код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
void IEGDIp::CutRectangle()
{
    Bitmap NewBitMap(L"BACKGRND.bmp");
    Bitmap* CutBitmap;
 
    CutBitmap = NewBitMap.Clone(200, 200, 500, 500, PixelFormatDontCare);
 
    CLSID pngClsid;
    GetEncoderClsid(L"image/bmp", &pngClsid); //http://msdn.microsoft.com/en-us/library/ms533843.aspx
 
    CutBitmap->Save(L"Save_BITMAP.bmp", &pngClsid, NULL); //Проблемное место :)
}
Огромное спасибо, ANDRO, за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2013, 20:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос GDI+ и сохранение Bitmap* (C++):

Перезаписать память начиная с указателя Bitmap[1] элементами начиная с указателя Bitmap[0] - C++
Задан массив из 3 указателей Bitmap, по адресу Bitmap необходимо записать 480*640 элементов из массива Bitmap. В последнем цикле for выдает...

GDI - C++
Ребята, привет. Не знаю, с чего начать. Нужен примерчик использования интерфейса графического устройства. Что-нибудь нарисовать,...

Анимация в GDI - C++
Подскажите, пожалуйста, как анимировать фигуру в GDI, чтобы она при нажатии на пробел, поднималась на пару пикселей Заранее спасибо

Исходники GDI - C++
Может кто поделиться какими-нибудь исходниками связаными с использованием графики? А то не знаю как подступиться. В книжках есть куски...

Освоение gdi+ - C++
Первый вопрос. Есть созданная скажем из файла картинка в виде указателя на создланный Gdiplus::Image Как ее вывести не исходной, а...

Литература по GDI+ - C++
Поискал какую-нибудь литературу (желательно русскоязычную), но ничего не нашел, кроме обзорных статей и отдельных примеров. А есть ли в...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 20:34
Привет! Вот еще темы с ответами:

GDI || DirectX - C++
Что лучше использовать в качестве меню для игр Win32 API + GUI или Win32 API + DirectX? Возможно ли в GUI\GUI+ сделать форму прозрачной?

GDI+ или Direct2D? - C++
Всем привет! возможно звучит немного наивно, но хотелось бы узнать какую графическую технологию можно использовать, чтобы написать игру по...

Удаление объектов GDI - C++
Почему нужно удалять созданные (например так: hRgn = CreateRectRgn(0, 0, 0, 0); ) объекты GDI? ну то есть зачем их удалять явно?...

GDI C++ вставить картинку - C++
Здравствуйте, друзья! Как говориться - просто так бы не беспокоил. К моему сожалению потратил достаточно много времени (три вечера),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.