//加载原始位图
void CMyView::OnDraw(CDC* pDC)
{
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CDC mdc;
CBitmap * bitmap=new CBitmap();
CBitmap* oldBitmap;
//CClientDC *dc=(ClientDC *)GetDC();
bitmap->LoadBitmap(IDB_BITMAP2);
mdc.CreateCompatibleDC(pDC);
oldBitmap=mdc.SelectObject(bitmap);
// pDC->BitBlt(0,0,63,63,&mdc,630,630,SRCCOPY);//原始大小
pDC->StretchBlt (0,0,1024,768,&mdc,0,0,1024,768,SRCCOPY); //拉伸大小
// TODO: add draw code for native data here
mdc.SelectObject(oldBitmap); switch (nEffect)
{
case MUKE:
Muke(pDC);
break;
..........
}
}
//
void CMyView::Muke(CDC *pDC)
{
int red,green,blue,total;
for(int i=0;i<1024;i++)
{
for(int j=0;j<768;j++)
{
m_colPxiel[i][j]=pDC->GetPixel(i,j);
red=m_colPxiel[i][j]&RGB(255,0,0);
green=(m_colPxiel[i][j]>>8)&RGB(255,0,0);
blue=(m_colPxiel[i][j]>>16)&RGB(255,0,0);
total=(red+green+blue)/3;
if(total<128)
{
m_colPxiel[i][j]=RGB(255,255,255);
AfxMessageBox("hi");
}
else
{
m_colPxiel[i][j]=RGB(0,0,0);
}
pDC->SetPixel(i,j,m_colPxiel[i][j]);
}
}
}
怎么显示黑色,但是如果在加载完位图后,直接Muke(pDC)可以实现木刻效果,为何???
void CMyView::OnDraw(CDC* pDC)
{
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CDC mdc;
CBitmap * bitmap=new CBitmap();
CBitmap* oldBitmap;
//CClientDC *dc=(ClientDC *)GetDC();
bitmap->LoadBitmap(IDB_BITMAP2);
mdc.CreateCompatibleDC(pDC);
oldBitmap=mdc.SelectObject(bitmap);
// pDC->BitBlt(0,0,63,63,&mdc,630,630,SRCCOPY);//原始大小
pDC->StretchBlt (0,0,1024,768,&mdc,0,0,1024,768,SRCCOPY); //拉伸大小
// TODO: add draw code for native data here
mdc.SelectObject(oldBitmap); switch (nEffect)
{
case MUKE:
Muke(pDC);
break;
..........
}
}
//
void CMyView::Muke(CDC *pDC)
{
int red,green,blue,total;
for(int i=0;i<1024;i++)
{
for(int j=0;j<768;j++)
{
m_colPxiel[i][j]=pDC->GetPixel(i,j);
red=m_colPxiel[i][j]&RGB(255,0,0);
green=(m_colPxiel[i][j]>>8)&RGB(255,0,0);
blue=(m_colPxiel[i][j]>>16)&RGB(255,0,0);
total=(red+green+blue)/3;
if(total<128)
{
m_colPxiel[i][j]=RGB(255,255,255);
AfxMessageBox("hi");
}
else
{
m_colPxiel[i][j]=RGB(0,0,0);
}
pDC->SetPixel(i,j,m_colPxiel[i][j]);
}
}
}
怎么显示黑色,但是如果在加载完位图后,直接Muke(pDC)可以实现木刻效果,为何???
解决方案 »
- 请教用C#生成DLL的具体方法
- “北京IT之夜”大型Party
- 关于钩子。。。
- 关于端口问题。
- 请问一下,我要编译个UNICODE的DLL,要不要改入口点函数?如果要改,新的入口点函数是什么名字?
- 郁闷!!!!和女朋吵架,她喜欢去找高中男同学怎么办?
- 自定义tab控件
- 请问VC里如何修改对话框标题?
- 怎样实现象IE那样的在菜单或工具栏右侧的动态图案?
- C++调用matlab的新问题
- 简单问题,怎样让对话框启动时为最大化?
- 生成一单文档程序框架,共有四个类(CAboutDlg,CChildView,CMainFrame,CMyApp),问:如何在CMainFrame类中访问CChildView类中的公有变量?
{
........
.......
}
else //为黑色RGB(0,0,0)
{
.............
}==============================
而且,你用GetPixel(),不加载怎么Get啊?
不要用GetPixel(),最慢的方法..