亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

簡單介紹透明位圖的實現方法

2019-11-18 17:38:10
字體:
來源:轉載
供稿:網友
透明位圖在VB中的實現方法及應用

  在VB中顯示位圖,通常都是通過各種控件實現的。通過控件顯示的位圖,或全部或局部,始終是以一個規則的矩形圖像出現在屏幕上,無法做到只顯示位圖中某個不規則的局部圖像,而使位圖的其它部分具有透明性以露出其下原有的屏幕顯示,即所謂“透明位圖”,因此透明位圖的實現只能另辟蹊徑。下面,筆者將向大家介紹一種方法。

  原理

  其實,Windows中隨處可見的圖標就是一個透明位圖的典型實例。
  圖標是由兩個單獨的位圖組成的。第一個位圖是由黑色(顏色位全為0)背景與彩色圖標圖案組成的,該位圖將與當前屏幕顯示通過異或(XOR)操作結合起來,故稱其為XOR位圖。第二個位圖是由白色(顏色位全為1)背景與黑色(顏色位全為0)圖標圖案組成的,該位圖將與當前屏幕顯示通過與(AND)操作結合起來,故稱其為AND位圖。圖標的顯示是通過兩個步驟完成的:

  當前屏幕顯示與AND位圖通過AND操作結合起來;
  當前屏幕顯示與XOR位圖通過XOR操作結合起來。

  大家知道,1與任何數值AND操作的結果將維持原數值,而0與任何數值AND操作的結果則是0,因此在步驟1中,AND位圖中白色(1)與屏幕顯示經過AND操作后被原色彩屏蔽,而黑色(0)則將原色彩屏蔽。步驟1結束后,屏幕上將留下一個黑色的圖標圖案。在隨后的步驟2中,由于0與任何數值異或的結果都將是原數值,因此,XOR位圖與屏幕顯示經過異或操作后,位圖和屏幕中的黑色部分都將被各自對應的彩色部分屏蔽。步驟2結束后,一個形狀不規則的圖標圖案就出現在屏幕上了。這就是圖標顯示的原理。

  方法

  首先,根據源位圖和應用需求,制作出AND位圖和XOR位圖,然后,按照上述步驟,依次將AND位圖和XOR位圖與屏幕顯示結合起來,便可實現透明位圖了。
  AND位圖和XOR位圖的制作,在許多圖像處理軟件中都可以輕而易舉地完成,筆者不再詳細描述。AND位圖和XOR位圖與屏幕顯示的結合,可以通過像素迭加時的光柵操作完成,具體實現可以使用VB4中為Form和PictureBox新增的方法PaintPicture。該方法的功能是將一個圖像文件的內容傳送到Form或PictureBox的顯示屏幕上,也就是將源圖像中的像素與當前顯示屏幕上對應的像素疊加在一起。PaintPicture的語法為:object.PaintPicturepicture,x1,y1,width1,height1,x2,y2,width2,height2,opcode。其中,object是調用方法的Form或PictureBox對象實例;picture指定源圖像,該參數必須是Form或PictureBox控件的Picture屬性;x1,y1指定目標對象中用于擺放被傳送圖像的矩形區域左上角的邏輯坐標點;width1,height1指定目標對象中用于擺放被傳送圖像的矩形區域的寬度和高度;x2,y2指定源圖像中被傳送的矩形區域左上角的邏輯坐標點;width2,height2指定源圖像中被傳送部分的寬度和高度;opcode指定傳送過程中使用的光柵操作代碼值,AND操作代碼值為H8800C6,XOR操作代碼值為H660046。

  實例

  下面,本文介紹一個透明位圖的應用實例,實例演示一個卡通人物在窗口頂部循環地從左到右穿越窗口的動畫。動畫的播放采用PictureClip控件和Timer控件來實現,動畫畫面的顯示則使用本文的透明位圖技術。
  新建一個VB項目,在Form1中加入一個Timer控件Timer1,兩個PictureClip控件bmpXOR和bmpAND,將它們的Picture屬性分別設置為XOR.BMP和AND.BMP,這兩個位圖就是透明位圖所使用的XOR位圖和AND位圖,如右所示。
  在Form的Generaldeclaration部分加入下列常量聲明:

  ConstSRCANDAsLong=&H8800C6
  ConstSRCINVERTAsLong=&H660046
  ConstStepLength=10
  ConstAnimateSpeed=100

  項目代碼如下:
  PRivateSubForm_Load()
   Me.ScaleMode=3
   WithbmpAND
    .Cols=4
    .Rows=2
   EndWith
   WithbmpXOR
    .Cols=4
    .Rows=2
   EndWith
   Timer1.Interval=AnimateSpeed
  EndSub

  PrivateSubTimer1_Timer()
   StaticCurPicAsInteger
   StaticCurXAsSingle
   Me.Refresh
   IfCurPic>bmpAND.Cols*bmpAND.Rows-1ThenCurPic=0
   IfCurX>Me.ScaleWidthThenCurX=0
   Me.PaintPicturebmpAND.GraphicCell(CurPic),CurX,0,,,,,,,SRCAND
   Me.PaintPicturebmpXOR.GraphicCell(CurPic),CurX,0,,,,,,,SRCINVERT
   CurPic=CurPic 1
   CurX=CurX StepLength
  EndSub

  按F5運行,Form1中就會出現一個在窗口頂部從左到右循環地行走的卡通人物。人物行走的速度和步長可以通過常量AnimateSpeed和StepLength控制。為了檢驗透明位圖的效果,可以為Form1設置各種背景。您會看到,使用透明位圖技術顯示的動畫與各種背景都能自然地融合在一起,如同事先渲染生成的動畫影片一樣。這就是透明位圖技術希望達到的目的。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品videossex少妇| 热久久美女精品天天吊色| 久久视频这里只有精品| 久久视频国产精品免费视频在线| 国产精品成人va在线观看| 精品国产91久久久久久老师| 国产成人中文字幕| 九九久久久久久久久激情| 久久精品影视伊人网| 欧美日韩亚洲一区二区| 欧美成人精品h版在线观看| 日韩免费高清在线观看| 欧美专区在线播放| 精品调教chinesegay| 91沈先生在线观看| 久久综合伊人77777蜜臀| 日本国产高清不卡| 青青草原成人在线视频| 国产精品99一区| 伊人久久综合97精品| 日韩精品有码在线观看| 97视频在线观看网址| 国产丝袜精品视频| 欧美专区中文字幕| 激情懂色av一区av二区av| 欧美第一淫aaasss性| 91久久嫩草影院一区二区| 亚洲成av人影院在线观看| 国产日韩欧美中文| 国产欧美最新羞羞视频在线观看| 国产精品爱久久久久久久| 国产成人综合久久| 亚洲久久久久久久久久| 亚洲一区二区在线| 亚洲成人黄色网址| 亚洲激情免费观看| 一区二区三区亚洲| 久久99亚洲精品| 亚洲精品美女在线观看| 欧美性猛交xxxx免费看| 欧美孕妇孕交黑巨大网站| www.xxxx欧美| xxxxxxxxx欧美| 日韩欧美主播在线| 欧美日韩国产成人在线观看| 伊人伊成久久人综合网小说| 成人在线视频网站| 自拍偷拍亚洲区| 91高潮在线观看| 国产69精品久久久久99| 狠狠躁夜夜躁久久躁别揉| 久久视频在线看| 欧美电影在线观看| 亚洲精品日韩欧美| 亚洲综合在线中文字幕| 国产精品扒开腿做| 精品视频在线观看日韩| 欧美国产日韩一区二区三区| 91av在线看| 国产亚洲精品一区二区| 国产成人亚洲精品| 国产成人精品一区| 91精品国产色综合久久不卡98口| 日韩欧美aaa| 国产精品久久久久秋霞鲁丝| 亚洲欧美另类国产| 日韩欧美国产一区二区| 亚洲福利影片在线| 久久久精品视频在线观看| 亚洲欧美日韩视频一区| 久久人人97超碰精品888| 日韩一区二区精品视频| 久久精品国产2020观看福利| 国产精品视频一区二区高潮| 欧美激情欧美激情| 最近日韩中文字幕中文| 久久久久久久久久久网站| 精品久久久中文| 亚洲免费一级电影| 综合网中文字幕| 91精品国产99| 欧美黄色片免费观看| 国产丝袜一区二区| 亚洲xxxxx性| 欧美中文字幕在线观看| 日韩欧美国产骚| 久精品免费视频| 久久久久久久影院| 午夜精品久久久99热福利| 国产丝袜一区视频在线观看| 欧美日韩第一页| 欧美激情在线狂野欧美精品| 国产午夜精品理论片a级探花| 亚洲精品99久久久久中文字幕| 2019亚洲男人天堂| 日韩高清免费观看| 亚洲一级一级97网| 国产精品视频免费观看www| 欧洲s码亚洲m码精品一区| 一本大道久久加勒比香蕉| 亚洲一区二区三区乱码aⅴ| 狠狠做深爱婷婷久久综合一区| 一区二区三区久久精品| 国产精品av在线播放| 亚洲精品第一国产综合精品| 亚洲欧美精品伊人久久| 中文字幕亚洲自拍| 久久久亚洲欧洲日产国码aⅴ| 国产亚洲xxx| 久久久久久久国产精品| 亚洲精品国产成人| 亚洲www在线观看| 伊人伊成久久人综合网站| 亚洲精品v天堂中文字幕| 精品国产自在精品国产浪潮| 疯狂做受xxxx高潮欧美日本| 国产一区欧美二区三区| 成人午夜激情免费视频| 欧美成人国产va精品日本一级| 久久成人国产精品| 亚洲欧洲成视频免费观看| 91豆花精品一区| www.日韩不卡电影av| 欧美激情第1页| 日韩精品一区二区视频| 91国在线精品国内播放| 亚洲精品av在线播放| 国产成人在线一区| 亚洲性猛交xxxxwww| 97精品国产97久久久久久| 久久韩剧网电视剧| 欧美性jizz18性欧美| 国产精品尤物福利片在线观看| 成人国产精品一区| 性色av一区二区三区免费| 亚洲欧美福利视频| 91精品免费久久久久久久久| 久久久久久久一区二区三区| 伊人一区二区三区久久精品| 亚洲tv在线观看| 欧美寡妇偷汉性猛交| 在线播放日韩欧美| 亚洲电影av在线| 亚洲精品一区在线观看香蕉| 成人免费视频xnxx.com| 精品视频www| 欧美一区二区三区免费视| 国产福利精品视频| 成人精品久久av网站| 中文字幕欧美国内| 在线视频免费一区二区| 精品无人区太爽高潮在线播放| 欧美性xxxxhd| 精品国产一区二区三区久久久狼| 久久综合伊人77777蜜臀| 国产精品av在线| 亚洲精品色婷婷福利天堂| 国产成人精品av| 欧美国产日本高清在线| 久久久人成影片一区二区三区| 久久人人爽国产| 国产精品精品视频一区二区三区| 国产精品9999| 国产91久久婷婷一区二区|