手机版

利用位图实现大数据量绘图的快速显示(3)

时间:2025-04-27   来源:未知    
字号:

位图 矢量图 计算机图像

二磐÷≮。,;,。≯i≥。≯、’‘争∥臻囊镒誉警整纂_

霎酩躅像囊蛩翟;

”.,

一.:■

、,

,,S

-r

r、+‘。ph、~

‘jj!+~二…….÷:i、“。x_:。

_

G疑Ap娃ieS虿I:

¨.

G辍ApHlCS

的成员变量bb,在0nDmw()中实现绘图。主要代码为:

pDC一>SetMapMode(MM上OMETRIC):

CRectrectl:

BEGIN—MESSAGE—MAP(CRadarVlew,CScro||View)

//设置映射模式

//ffAF)<—MSG—MAP(CRadarVjew)

ON上OMMAND《lD-FILE-PRINT.OnF¨e刚nt)ON工OMMAND(1D.FILE_PRlNT—PREVIEW,

view)

rectl=bb.m上itRect;

pDC一>LPtoDP(&rectl):

CSizesize(rectl.Width(),一rectl.Height()):

On剐e刚ntPre—

州m』BjtmapIsNone==true)//如果位图未创建则创建位图

//))AFX_MSG』AP

//Standardprintingcommands

//ONjOMMAND(1D-FILE_PRINT,CScro||View::0n—

Fi|ePrint)

//创建空位图

bb.CreateBitmapE×(size)://仓l建位图

CBrushbrush:

brush.CreateSoIidBrush(m—BkColor):

bb

ON』OMMAND(ID_FlLE_PRINT上lRECT,CSc删View::On一

剐ePrjnt)

GetDC()一>F…Rect(CRect(0,0.size.c×,

//ON』OMMAND(ID_FILE_PRINT.PREVlEW,

1Vlew::OnFilePrintPreview)

CScro|.

size.cy),&brush)://为位图//设置背景

bb.GetDC()一>SetMapMode(MM-LOMETRJC):CPenPen(NULL1,m—yvaveCoJor):bb.GetDC()一>SelectObiect(&Pen):

END—MESSAGE—MAP()

填充0nFile蹦nt()和OnFile蹦ntPrevjew()函数以实现打印

预览和打印:

vojdCRadarVjew::OnFjIePrjntf){

CScro||View::OnFi|ePrint():

voidCRadarView::OnFiIePrintPreview(){

CScro||View::OnFiIePr.ntPreview():

//自画位图

switch(m_para.m_page4.m』ispIaySefect)

case

0:

1:2:

ShowWave(bb.GetDC()):break;//画波形图

casecase

ShowGrav(bb.GetDC()):break://画画灰度图

ShowColor(bb.GetDC()):break://画伪彩色图

重载0n蹦nt()函数实现位图的打印:

vojdCRadarVjew::OnPr|nt{CDC丰pDC,CPrintInfo爿=pInfo)

.f(!m上BitmaplsNone)

pDC一>SetMapMode(MM_LOMETRIC):

bb.Print(pDC):

bb.PrepareBitmap():

m_bBitmapIsNone=faIse://位图完成则不再创建

//设置打印机设备环境的映射模式

CScro|IVIew::OnPrint(pDC.pInfo):)

//粘贴位图到视图区

CDCdcComp:

dcComp.CreateCompatibleDC(pDC);

dcComp.SeIectObject(&bb):

//drawbitmaD

pDC一>DPtoLP(&rect2):

CRectrect2(O.O.bb.m—yv{dth.bb.m』eight):

这样,整个功能就基本实现了。大家在运行应用程序的时候就会发现,位图绘制时会稍微用一点时间,这个时间跟直接在0nDraw()下初始绘图的时间是几乎一样的。但是,当我们拖动滑块时,我们会发现,图像就象在平滑移动,丝毫没有滞留不动

0n—

pDC一>StretchB …… 此处隐藏:573字,全部文档内容请下载后查看。喜欢就下载吧 ……

利用位图实现大数据量绘图的快速显示(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)