手机版

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

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

位图 矢量图 计算机图像

1i,。|。i、.,。≯j。

:襄薷囊。蠢麓麓4繁”’譬

强一.皤鬏ApHl£S

!”?

。:’。“’i譬弼

i,Il

≠、F

-㈡

i。“匿黪臻辍

//returnhandIetOtheDlB

return

G疑APHlCS

她7箍

7一

memset(&bi,O,sizeof(bi)):

bi.biSize=sizeof(BITMAPINFOHEADER):bi.biPlanes=1:

bi.biComDression=BLRGB:

//qetandstOredimensiOnsofbitmapBITMAPbm:

GetObiect(sizeof(bm),(LPSTR)&bm):

hDIB:

6)给该类添加void蹦nt(cDc。pDc)公有成员函数,用来

实现位图到打印机的打印。主要代码为:

.ntbmData:

//pDC为打印机设备环境指针

HANDLEhDIB=CreateDlB(&bmData):

//get

bi.biWidth=bm.bmWidth:

bi.biHeight=bm.bmHeight;

//getnumberOfbitsrequiredperpi×el

intbits=bm.bmPlanes¥bm.bmBitsPjxeI:_f(bits<=1)bi.biB.tCount=1:else.f(bits<兰4)bi.b_B_tCount=4:else-f(b.ts<=8)bi.biBitCount=8:

eJse

memOrypointerstOtheDlB’sheaderanddatabits

LPBn。MAPlNFOHEADERIDDlBHdr=APlNFOHEADER)::

GIobalLock(hDIB):

LPSTRfpDIBBjts=《LPSTR)lpDIBHdr+bmData:DDC一>SetStretchBItMode(COLORONCOLOR):CRect

rect《0,O,m—yVidth,m—Height):

DDC一>DPtoLP(&rect):

::StretchDIBits(pDC一>m-hDC,

//打印机设备环境

0,O,mjitRect.Width(),一m_BjtRect.Height(),//此

//

source

处用用逻辑坐标

0,O,m—j~idth,mj_{eight,

sions(useaIlofbitmap)(LPBITMAPINFO)IpDIBHdr.

bitmap

dimen

bi.biBitCount=24://caIculatecoIorint

tabIesize

lpDIBBits,//bitmappicturedata

//bitmapheaderinfo

DlB』GB』OLORS,//specifycoIortabIehasRGBVafues

SRCCOPY//sirnpIesourcetodestinationcOpy

):

biColorSize=0:

.f(bi.biBitCount!=24)biCoIorSize=(1<<bi.biBjtCount):

bjCoIorSize木=sizeof(RGBQUAD):

//calculateDicturedata

size

bi.biSizeImage=(DWORD).bm.bmWidth

bi.biBitCount://bitsperrOw

bi.biSizeImage=(((bi.biSizeImage)

+31)/32)

//cIeanuD

::GlobaIUnlock(hDIB):

4://DWORD

aligned

::GfobalFree(hDlB):

retum:

bi.biSizeImage水=bm.bmHeight://bytesrequiredfor

whOIebitmaD

//retumsizetOcafer{ncasetheVwanttOsavetOfiIe

.f(pbmD8ta)

7)最后为该类添加voidsaveBitmap(cstringsFile)公共成员函数,用来保存位图。

实现代码主要为:

//create

int

DbmData=bibiSize+biCoIOrSize:

cOIOr

DIBbjtmaD

////getDIBc0IortabIeandpicturedata

//a|JOcateahunkOfmemOrVtOhOIdheader,

ta …… 此处隐藏:1161字,全部文档内容请下载后查看。喜欢就下载吧 ……

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