Click here to Skip to main content
15,884,838 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionCreate new bitmap from oldbitmap Pin
Game-point16-Sep-09 3:18
Game-point16-Sep-09 3:18 
AnswerRe: Create new bitmap from oldbitmap Pin
Code-o-mat16-Sep-09 3:28
Code-o-mat16-Sep-09 3:28 
GeneralRe: Create new bitmap from oldbitmap Pin
Game-point16-Sep-09 3:31
Game-point16-Sep-09 3:31 
GeneralRe: Create new bitmap from oldbitmap Pin
Code-o-mat16-Sep-09 3:33
Code-o-mat16-Sep-09 3:33 
GeneralRe: Create new bitmap from oldbitmap Pin
Game-point16-Sep-09 3:54
Game-point16-Sep-09 3:54 
GeneralRe: Create new bitmap from oldbitmap Pin
Code-o-mat16-Sep-09 4:16
Code-o-mat16-Sep-09 4:16 
GeneralRe: Create new bitmap from oldbitmap Pin
Game-point16-Sep-09 4:22
Game-point16-Sep-09 4:22 
GeneralRe: Create new bitmap from oldbitmap Pin
Code-o-mat16-Sep-09 5:01
Code-o-mat16-Sep-09 5:01 
Ah well, create a new bitmap in memory with the required size, blit from the source image to the target image the part you want to cut out and then save this new bitmap.
So something like this:

HDC pDC=::GetDC(0);
HDC TmpDC=CreateCompatibleDC(pDC);
CImage _image;
_image.Load(_T("//read.tif"));
int width=_image.GetWidth();
int height=_image.GetHeight();
HGDIOBJ TmpObj2 = SelectObject(TmpDC,(HGDIOBJ)(HBITMAP)_image);			

int newWidth  = width/2;
int newHeight = height/2;
HDC NewDC = CreateCompatibleDC(TmpDC);
HBITMAP NewBitmap = CreateCompatibleBitmap(TmpDC, newWidth, newHeight);
HGDIOBJ NewTmpObj = SelectObject(NewDC, NewBitmap);

BitBlt(NewDC, 0, 0, newWidth, newHeight, TmpDC, 0, 0, SRCCOPY);

SelectObject(NewDC, NewTmpObj);
DeleteDC(NewDC);

SelectObject(TmpDC,TmpObj2);
::ReleaseDC(NULL,pDC);

CImage newImage;
newImage.Attach(NewBitmap);
newImage.Save( _T("D:\\newy.jpg"), Gdiplus::ImageFormatJPEG);
DeleteObject(NewBitmap); //Is this needed, will CImage destroy the bitmap or not?

I am not saying this code works or if it compiles at all, but it can be a starting point for you to get the idea, good luck.

> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Sometimes you just have to hate coding to do it well. <

AnswerRe: Create new bitmap from oldbitmap Pin
Nuri Ismail16-Sep-09 5:02
Nuri Ismail16-Sep-09 5:02 
GeneralRe: Create new bitmap from oldbitmap Pin
Game-point16-Sep-09 20:46
Game-point16-Sep-09 20:46 
GeneralRe: Create new bitmap from oldbitmap [modified] Pin
Nuri Ismail16-Sep-09 22:04
Nuri Ismail16-Sep-09 22:04 
GeneralRe: Create new bitmap from oldbitmap Pin
Game-point16-Sep-09 22:36
Game-point16-Sep-09 22:36 
GeneralRe: Create new bitmap from oldbitmap Pin
Nuri Ismail16-Sep-09 22:50
Nuri Ismail16-Sep-09 22:50 
QuestionHow to put MFC View full screen on second monitor? Pin
Jeff Archer16-Sep-09 2:36
Jeff Archer16-Sep-09 2:36 
GeneralRe: How to put MFC View full screen on second monitor? Pin
Iain Clarke, Warrior Programmer16-Sep-09 3:20
Iain Clarke, Warrior Programmer16-Sep-09 3:20 
QuestionMFC app does not show full screen Pin
m_mun16-Sep-09 2:20
m_mun16-Sep-09 2:20 
QuestionRe: MFC app does not show full screen Pin
David Crow16-Sep-09 2:24
David Crow16-Sep-09 2:24 
AnswerRe: MFC app does not show full screen Pin
m_mun16-Sep-09 3:00
m_mun16-Sep-09 3:00 
QuestionNeed help on TAPI3.0 with some sample programs Pin
John50216-Sep-09 1:53
John50216-Sep-09 1:53 
Questionfiles after compilation Pin
hrishiS16-Sep-09 1:35
hrishiS16-Sep-09 1:35 
AnswerRe: files after compilation Pin
Stephen Hewitt16-Sep-09 1:49
Stephen Hewitt16-Sep-09 1:49 
GeneralRe: files after compilation Pin
hrishiS16-Sep-09 2:22
hrishiS16-Sep-09 2:22 
GeneralRe: files after compilation Pin
David Crow16-Sep-09 2:27
David Crow16-Sep-09 2:27 
AnswerRe: files after compilation Pin
Rozis16-Sep-09 13:10
Rozis16-Sep-09 13:10 
Questiontop down and bottom up apporach Pin
hrishiS16-Sep-09 1:30
hrishiS16-Sep-09 1:30 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.