本帖最后由 ye781205 于 2016-5-27 00:10 编辑
最近在用vs2010调试stm32的图形界面,感觉调试方便,调试好了可以直接放在stm32的工程里
这是在窗口画点的一个函数
void stm32_Point(unsigned short int x,unsigned short int y,unsigned short int color)
{
HDC hdc;// 首先获得窗口的设备描述表
// HWND hWnd;
unsigned char r,g,b;
r=(color&0xf800)>>8;
g=(color&0x07e0)>>3;
b=(color&0x001f)<<3;
// hWnd=GetActiveWindow();//获得当前活动窗口的句柄
hdc=GetDC(m_hWnd);//获取设备;获得的hdc的有效区域仅限于客户区有效区域的设备环境句柄,不包括标题栏、边框等。
SetPixel( hdc, x, y, RGB(r,g,b) );
SetPixel( hdc, x+1, y, RGB(r,g,b) );
SetPixel( hdc, x, y+1, RGB(r,g,b) );
SetPixel( hdc, x+1, y+1, RGB(r,g,b) );
ReleaseDC(m_hWnd,hdc);//释放设备;
}
传递函数
//画点
//x,y:坐标
//POINT_COLOR:此点的颜 {MOD}
void LCD_Point(u16 x,u16 y,u16 color)
{
stm32_Point( x*2,y*2,color);//因为是开的640*480的窗口,lcd是320*240的
}这是LCD_Clear(RED)的运行效果
有了画点函数想怎么做就怎么做了吧,不过感觉刷屏好慢,有更好的画点方法吗,不要D3D之类的。
重新做了画图函数,快多了,用的贴图方式
附件是vs2010的工程
vs2010练习.rar
(48.81 KB, 下载次数: 245)
2016-5-27 00:10 上传
点击文件名下载附件
一周热门 更多>