用vb實現圖像轉換效果_vb教程

PaintPicture是自VB4以後新提供的圖像圖像處理方法,他的基本功能是圖像塊傳輸,在以前的VB版本中要產生塊傳輸效果,需採用WindowsGDI中的塊傳輸函數BitBltAPI調用。PaintPicture正是VB中用來代替BitBltAPI調用的簡單而方便的方法。他能快速地將兩幅位圖進行合併;能將位圖的全部或某一部分快速剪切並粘貼到其他地方;並能將位圖自動延伸或壓縮以適應新的環境;能在屏幕上不同位置之間、屏幕和內存之間傳遞位圖;他採用32位三元光柵操作代碼(ROP),在源位圖、選定的刷子位圖和目標位圖之間進行顏色組合,生成目標位圖中的最終顏色,他將13個常用的ROPR操作以內部常量形式給出,不需任何聲明,不用理會其32位參數值。
基本格式:
Object.PaintPicturepicture,x1,y1,width1,height1,x2,y2,Width2,height2,opcode

其中Object能夠爲窗體或PictureBox控件Picture能夠爲BMP、Dib、Ico、Wmf、Emf等格式的圖片
  X1、Y1、Width1、height1爲目標位圖的參數
  X2、Y2、Width2、height2爲源位圖的參數
 opcode表示源圖和目標位圖(或刷子位圖)的組合關係,該參數和BitBlt中dwRop參數含義相同。
  VB4爲opcode定義了13個內部常量:
  vbDstInvert:目標位圖取反
  vbSrcCopy:源位圖直接覆蓋目標位圖
  vbSrcAnd:源位圖和目標位圖進行“和”操作
 bSrcInvert:源位圖和目標位圖進行“異或”操作
  vbSrcPaint:源位圖和目標位圖進行“或”操作
  vbNotSrcCopy:源位圖取反
  vbSrcErase:目標位圖取反,再和源位圖進行“和”操作
  vbNotSrcErase:源位圖和目標位圖進行“或非”操作
  vbMergePaint:源位圖取反,再和目標位圖進行“或”操作
  此外,和刷子位圖有關的常量是vbMergeCopy、vbPatCopy、vbPatInvert和vbPatPaint,這13個內部常量能夠在菜單View/ObjectBrowser/VB-VisualBasicobjectsandprocedures/RasterOpConstants中列出。
  巧用PainPicture方法,結合控件屬性,能夠方便地產生許多常見的圖像轉換效果,如我們在多媒體作品及電視中常見的圖像旋轉引入、翻轉、飛入、滑入、彈出、淡入淡出、隱現等動畫效果。舉例:圖像滑入(Wipe)效果的實現
  在滑入效果中,新圖像慢慢逐漸覆蓋舊圖像,就象在牆上展於一幅捲成筒狀的畫。
  1.缺省窗體Form1
  2.Form1上置PictureBox1、PictureBox2兩大小相同的圖片控件及Timer時鐘控件PictureBox1中安裝源圖,在PictureBox2中展開PictureBox1中的圖像
  3.編程
  PrivateSubFormμLoad()
  Picture1.ScaleModeΚPixel
  Picture2.ScaleModeΚPixe1
  hΚ0
  tΚ2
  EndSUb

  PrivateSubTimerμTimer()
  IfhΙΚPicture1.ScaleHeightThen
  Picture2.PaintPicturePicture1.Picture,0,h,Picture2.ScaleWidth,t,0,h,Picture1.ScaleWidth,t,vbSrcCopy  hΚh+t
  EndIf
  EndSub
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章