av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

淺析C#調(diào)用ImageAnimator

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

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

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

 
 
 
  1. usingSystem;  
  2. usingSystem.Collections.Generic;  
  3. usingSystem.Text;  
  4. usingSystem.Drawing;  
  5. usingSystem.Drawing.Imaging;  
  6.  
  7. namespaceGifTest  
  8. {  
  9. /**////  
  10. ///表示一類帶動畫功能的圖像。  
  11. ///  
  12. publicclassAnimateImage 

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


分享文章:淺析C#調(diào)用ImageAnimator
文章出自:http://uogjgqi.cn/article/cdpjhoo.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流