日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
淺析C#調(diào)用ImageAnimator

最近在做一個(gè)圖片查看器,由于使用一般的PctureBox,在性能和縮放控制上都無(wú)法滿足預(yù)期的要求,因此所有組件的呈現(xiàn)均是通過(guò)重寫(xiě)控件的 OnPaint事件來(lái)繪制。在查看gif圖片時(shí)發(fā)現(xiàn)Graphics.DrawImage只呈現(xiàn)第一幀,無(wú)法滿足預(yù)期要求,因此經(jīng)過(guò)摸索尋找到了解決自繪 gif的較好辦法。

這里介紹一個(gè).net自身攜帶的類(lèi)ImageAnimator,這個(gè)類(lèi)類(lèi)似于控制動(dòng)畫(huà)的時(shí)間軸,C#調(diào)用ImageAnimator.CanAnimate可以判斷一個(gè)圖片是否為動(dòng)畫(huà),C#調(diào)用ImageAnimator.Animate可以開(kāi)始播放動(dòng)畫(huà),即每經(jīng)過(guò)一幀的時(shí)間觸發(fā)一次OnFrameChanged委托,我們只要在該委托中將Image的活動(dòng)幀選至下一幀再迫使界面重繪就可以實(shí)現(xiàn)動(dòng)畫(huà)效果了。

為了方便以后的使用,我將這些代碼整合到了一起,形成一個(gè)AnimateImage類(lèi),該類(lèi)提供了CanAnimate、FrameCount、CurrentFrame等屬性,以及Play()、Stop()、Reset()等動(dòng)畫(huà)常用的方法,代碼如下

 
 
 
  1. usingSystem;  
  2. usingSystem.Collections.Generic;  
  3. usingSystem.Text;  
  4. usingSystem.Drawing;  
  5. usingSystem.Drawing.Imaging;  
  6.  
  7. namespaceGifTest  
  8. {  
  9. /**////  
  10. ///表示一類(lèi)帶動(dòng)畫(huà)功能的圖像。  
  11. ///  
  12. publicclassAnimateImage 

以上介紹C#調(diào)用ImageAnimator類(lèi)。


分享文章:淺析C#調(diào)用ImageAnimator
當(dāng)前地址:http://m.5511xx.com/article/cdpjhoo.html