国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

放置“透明”的圖片

2019-11-18 17:38:16
字體:
來源:轉載
供稿:網友
在VB中,如果你試著把一只有鳥的圖片放到背景的一棵樹上,你就會發現樹會被鳥遮住一個矩形的區域(即鳥的圖片矩形)。我們可以通過以下方法使圖片上非鳥的其它部分變透明:我們可以利用一個WinAPI函數BitBlt對圖形進行一系列的位操作來達到此目的。
函數聲明:
DeclareFunctionBitBltLib"gdi32"Alias"BitBlt"(ByValhDestDCAsLong,ByValxAsLong,ByValyAsLong,ByValnWidthAsLong,ByValnHeightAsLong,ByValhSrcDCAsLong,ByValxSrcAsLong,ByValySrcAsLong,ByValdwRopAsLong)AsLong
參數解釋:
目標環境:hDestDC——目標設備環境;x——左上角;y——頂端;nWidth——寬;nHeight——高源環境:hSrcDC——源設備環境;xSrc——源左上角;ySrc——源頂端;dwRop——位處理操作,如vbSrcAnd;vbSrcAnd;vbSrcCopy;vbSrcErase;vbSrcInvert等
(目標環境或源環境只能是Picture,Form或PRinter對象。各單位為象素。)
進行處理之前,我們需要對鳥的圖片進行處理:先復制一份相同的圖形,將其應該透明之處(鳥的背景)設置為黑色(設此圖為sPic),再將另一圖做以下處理:要復制的地方(鳥)設置為黑色,其余地方設置(鳥的背景)為白色(設此圖為Mask)。設樹的圖形為名dPic。
最后,請加入以下代碼:
R=BitBlt(dPic.hdc,0,0,sPic.Width,sPic.Height,Mask.hdc,0,0,vbScrCopy)
R=BitBlt(dPic.hdc,0,0,sPic.Width,sPic.Height,sPic.hdc,0,0,vbScrInvert)
后記:
1、VB中的PaintPicture方法提供類似功能,但速度不及此方法;
2、在此方法上稍微加入一些代碼,就不難實現動畫的顯示。
3、VB例子中的CallDlls就使用此方法。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉禾县| 西林县| 广州市| 蒙城县| 虹口区| 青神县| 鄂温| 固原市| 于都县| 莆田市| 英德市| 津南区| 来凤县| 漳平市| 根河市| 合江县| 青龙| 隆德县| 灵石县| 萍乡市| 阜康市| 顺平县| 辽中县| 阳高县| 东乌珠穆沁旗| 花垣县| 方城县| 上虞市| 湘潭市| 大洼县| 崇州市| 启东市| 三穗县| 鄱阳县| 龙门县| 汝阳县| 唐河县| 瓦房店市| 黔东| 连平县| 霸州市|