API
BOOL BoolPaint(HWND hDlg, WPARAM wParam, LPARAM lParam) |
{ |
int *ix = (int *)(&buf[18]); |
int *iy = (int *)(&buf[22]); |
HBITMAP MyBitmap,OldBitmap; |
|
hdc = BeginPaint(hDlg,&ps); |
MemDC=CreateCompatibleDC(hdc); |
//메모리DC를 만든다 |
if(ibuttor%2 == 0) |
{ |
MyBitmap=CreateCompatibleBitmap(hdc, *ix,*iy);//크기를 정하고 |
OldBitmap=(HBITMAP)SelectObject(MemDC,MyBitmap); |
} |
else |
{ |
MyBitmap=CreateCompatibleBitmap(hdc,*iy,*ix); |
OldBitmap=(HBITMAP)SelectObject(MemDC,MyBitmap); |
} |
|
if(*ix%2 == 0) |
{ |
*ix-=1; |
} |
switch(ibuttor) |
{ |
case 0: |
switch(ehd) |
{ |
case 0: |
Odown(0,*ix,*iy,0); |
break; |
case 1: |
Rdown(0,*ix,*iy,0); |
break; |
} |
break; |
} |
if(ehdghks == 0) |
{ |
if(ibuttor%2 == 0) |
{ |
BitBlt(hdc,40,70,*ix,*iy,MemDC,0,0,SRCCOPY); |
//hdc에 40,70에 메모리DC에 있는 값을 가져다 쓴다 |
} |
else |
{ |
BitBlt(hdc,40,70,*iy,*ix,MemDC,0,0,SRCCOPY); |
} |
} |
else |
{ |
if(ibuttor%2 == 0) |
{ |
StretchBlt(hdc,40,70,(*ix)*2,(*iy)*2,MemDC,0,0,*ix,*iy,SRCCOPY); |
} //메모리DC에 *ix,*iy크기의 영역을 (*ix)*2,(*iy)*2크기의 |
// 영역에 복사 (확대) |
else |
{ |
StretchBlt(hdc,40,70,(*iy)*2,(*ix)*2,MemDC,0,0,*iy,*ix,SRCCOPY); |
} |
} |
DeleteDC(MemDC); |
|
EndPaint(hDlg,&ps); |
return TRUE; |
} |
|
|
|
|
|
void Odown(int spx,int endx,int spy,int endy) |
{ |
int inum,isum; |
int im = 54; |
int max; |
|
for(isum = spy;isum >= endy;isum--) |
{ |
for(inum = spx;inum <= endx;inum++) |
{ |
if(tjs == 0) |
{ |
SetPixel(MemDC,inum,isum,RGB(buf[im+2],buf[im+1],buf[im])); |
//메모리DC에 픽셀로 그림은 그려둔다 |
} |
else |
{ |
max = ((im+2)+(im+1)+im)/3; |
SetPixel(MemDC,inum,isum,RGB(buf[max],buf[max],buf[max])); |
} |
im+=3; |
} |
} |
|
}
|
|
RFID |
|
비트맵 뷰어 제작 현재 회전,반전, 흑백,확대,불러오기 가능 |
내일 작업 마우스 사용 부분 확대 축소 |