国产探花免费观看_亚洲丰满少妇自慰呻吟_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就使用此方法。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太白县| 仁布县| 凤山县| 滨州市| 金坛市| 仪征市| 稷山县| 肥东县| 全州县| 浦城县| 岳阳县| 中宁县| 阳春市| 甘谷县| 赣州市| 舞阳县| 安塞县| 祁连县| 宁德市| 大宁县| 兴海县| 乐平市| 手游| 西安市| 林芝县| 长葛市| 阳原县| 陇川县| 同德县| 安宁市| 香格里拉县| 枣庄市| 于都县| 邵阳县| 屏东县| 隆尧县| 北安市| 盐亭县| 共和县| 隆子县| 米林县|