求助:CDC毫秒级作图
需要做一个表盘,在微秒级的级别下刷新表盘指针,现在的代码如下
dJD = CenterLevel; //度数
sTmp.Format("%.2f", dJD);
GetDlgItem(IDC_360_EDIT)->SetWindowText(sTmp);//界面框中显示
if ((dJD > 0) && (dJD <= 90))
dJD = 90 - dJD;
else
dJD = 360 - (dJD - 90);
dJD = dJD * 3.1415926 / 180;//弧度
iX = cos(dJD) * 60;
iY = sin(dJD) * 60;
pDC = GetDlgItem(IDC_360)->GetDC();
dcMem360.CreateCompatibleDC(pDC);//在内存中建造了DC
CBitmap* pOldBmp = dcMem360.SelectObject(&bmp_360);
//将内存中的图拷贝到屏幕上进行显示
pDC->BitBlt(0, 0, 170, 170, &dcMem360, 0, 0, SRCCOPY);
//绘图
pOldpen = pDC->SelectObject(&pen);
nOldRop = pDC->SetROP2(R2_NOTXORPEN);
pDC->MoveTo(85, 85);
pDC->LineTo(85 + iX, 85 - iY);
pDC->SetROP2(nOldRop);
pDC->SelectObject(pOldpen);
//绘图完成后的清理
ReleaseDC(&dcMem360);
bmp_360 为窗体类定义的Bitmap,已载入底图
我的想法是每次画图前载入原始图像,在窗体中显示后在上面重新画
现在的问题是在2毫秒的情况下执行一段时间(5分钟左右)
程序提示内存访问错误,请问上面的执行有问题吗?有没有更好的方法进行处理?
dJD = CenterLevel; //度数
sTmp.Format("%.2f", dJD);
GetDlgItem(IDC_360_EDIT)->SetWindowText(sTmp);//界面框中显示
if ((dJD > 0) && (dJD <= 90))
dJD = 90 - dJD;
else
dJD = 360 - (dJD - 90);
dJD = dJD * 3.1415926 / 180;//弧度
iX = cos(dJD) * 60;
iY = sin(dJD) * 60;
pDC = GetDlgItem(IDC_360)->GetDC();
dcMem360.CreateCompatibleDC(pDC);//在内存中建造了DC
CBitmap* pOldBmp = dcMem360.SelectObject(&bmp_360);
//将内存中的图拷贝到屏幕上进行显示
pDC->BitBlt(0, 0, 170, 170, &dcMem360, 0, 0, SRCCOPY);
//绘图
pOldpen = pDC->SelectObject(&pen);
nOldRop = pDC->SetROP2(R2_NOTXORPEN);
pDC->MoveTo(85, 85);
pDC->LineTo(85 + iX, 85 - iY);
pDC->SetROP2(nOldRop);
pDC->SelectObject(pOldpen);
//绘图完成后的清理
ReleaseDC(&dcMem360);
bmp_360 为窗体类定义的Bitmap,已载入底图
我的想法是每次画图前载入原始图像,在窗体中显示后在上面重新画
现在的问题是在2毫秒的情况下执行一段时间(5分钟左右)
程序提示内存访问错误,请问上面的执行有问题吗?有没有更好的方法进行处理?
...全文
相关推荐
调用CDC :: FrameRect()或CDC :: Rectangle()或CDC :: FillRect()会清除CDC :: DrawText()绘制的文本
嗨,我设计了一个自定义TreeView控件,当树调整大小时,该控件包装了树项的文本字符串,并且为了实现在OnPaint()处理程序中绘制树项,我使用CDC :: DrawText()来绘制文本字符串和CDC :: FillRect()在同一矩形上以绘制选定的树项。 在...
CDC画图详解
CDC画图,CDC,常用的各种CDC画图方法讲解。非常实用的CDC学习教程
MTK cdc serial 驱动
MTK cdc serial 驱动,找了很久才找到,这个能用,对于MTK ATA测试中
MFC 程序设计作图范例
本程序实现用MFC作图并产生可视化窗口 以旗帜等图形的绘制直观展示使用MFC作图的方法
flink-cdc-connectors:更改Apache Flink的数据捕获(CDC)连接器
Flink CDC连接器 Flink CDC连接器是Apache Flink的一组源连接器,使用更改数据捕获(CDC)从不同的数据库中提取更改。 Flink CDC连接器将Debezium集成为引擎来捕获数据更改。 因此,它可以充分利用Debezium的功能。 进一步了解什么是 。 本自述文件旨在简要介绍Flink CDC连接器的核心功能。 有关详细文档,请参阅。 支持(经过测试)的连接器 数据库 版 MySQL 数据库:5.7,8.0.x JDBC驱动程序:8.0.16 PostgreSQL 数据库:9.6,10,11,12 JDBC驱动程序:42.2.12 产品特点 支持读取数据库快


图形处理/算法
