机器视觉入门之三 在内存中绘制图形并显示

本文介绍如何在内存中创建一个内存块,存储图像数据并绘制图形(如圆形),然后在对话框界面中显示。通过使用LPBYTE *pic2D作为二维内存缓冲指针,提高图像数据访问效率。代码示例中详细解释了内存分配、图像行指针定位,以及使用三角函数计算逐点坐标来绘制红色圆形。最后强调了编程习惯的重要性,包括内存释放。
摘要由CSDN通过智能技术生成

    我们今天要在内存中创建一个内存块,用于存储图像数据,并在这个内存块中绘制一个图形,比如圆形,然后在基于对话框的界面上显示它,假设大家对VS已经有一点认识了,我们今天接着昨天的项目向下进行,首先在对话框上添加一个按钮:

    在工具箱里选择Button,然后在对话框上拖动出一个按钮,大小任意,ID也不用改,可以改个Caption(这些都不重要),然后双击它,进行代码编写。代码大部分可以复制昨天确定按钮里面的代码,这里面我们只加入了几行,但是想搞明白,不是那么容易的事:


	int i,j;
	int x0,y0,r; //圆心x,y点坐标及半径
	int x,y;	//x,y中间变量
	float PI=3.1415926; //圆周率
	x0=120;
	y0=120;
	r=100;
	LPBYTE *pic2D;//定义2维内存缓冲指针
	pic2D=new unsigned char*[bm.bmHeight];
	for(i=0;i<bm.bmHeight;i++)
	{
		pic2D[i]=pic+i*bm.bmWidth*bm.bmBitsPixel/8;//将二维内存指针指向图像内存区的每一行行首
	}
	for(i=0;i<360;i++)//绘制圆形
	{
		x=r*cos(float(i)/180.0*PI); //计算圆上逐点的x坐
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值