OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5333|回复: 2

用VC++开发STM32的图形UI

[复制链接]

44

主题

186

帖子

4

精华

金牌会员

Rank: 6Rank: 6

积分
1260
金钱
1260
注册时间
2012-9-1
在线时间
67 小时
发表于 2016-5-26 14:06:05 | 显示全部楼层 |阅读模式
本帖最后由 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:此点的颜色
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, 下载次数: 259)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2013-5-8
在线时间
2 小时
发表于 2016-8-20 16:41:40 | 显示全部楼层
楼主的游戏机模拟器现在支持的游戏机种类有多少了?能发个综合的工程代码出来吗?
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-11-30
在线时间
6 小时
发表于 2018-11-20 14:36:54 | 显示全部楼层
学习中,楼主利害
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 22:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表