小弟现在需要一个程序其目的,是将Photoshop中的图片的每点的RGB值读取,图像大小为256×256,现在基本问题已经得以解决但是最后运行的时候总是出现各种问题~请高手指点一下,万分感谢~
void CGetRGBView::OnDraw(CDC* pDC)
{
CGetRGBDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
if(state==1)
{CDC dcImage;
if(!dcImage.CreateCompatibleDC(pDC))
return;
BITMAP bm;
m_bitmap.GetBitmap(&bm);
dcImage.SelectObject (&m_bitmap);
pDC->BitBlt
(0,0,bm.bmWidth ,bm.bmHeight ,&dcImage,0,0,SRCCOPY);
HDC hDC=::GetDC(NULL);
int r[256],g[256],b[256],gray[256],x=0;
COLORREF clr;
for(int t=0;t<256;t++)
for(int j=0;j<256;j++)
{
clr=::GetPixel(hDC,t,j);
r[x]=GetRValue(clr);
g[x]=GetGValue(clr);
b[x]=GetBValue(clr);
gray[x]=(int)(r[x]*0.3+g[x]*0.59+b[x]*0.11);
x++;
--------------------next---------------------
阅读(1158) | 评论(0) | 转发(0) |