用VC++开发STM32的图形UI

2019-07-20 04:58发布

本帖最后由 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)的运行效果
快照-20165266430.jpg

有了画点函数想怎么做就怎么做了吧,不过感觉刷屏好慢,有更好的画点方法吗,不要D3D之类的。
重新做了画图函数,快多了,用的贴图方式
附件是vs2010的工程
vs2010练习.rar (48.81 KB, 下载次数: 245) 2016-5-27 00:10 上传 点击文件名下载附件








友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。