vb.net 、c# 、GDI+分解显示GIF图片

vb.net 、c# 、GDI+分解显示GIF图片

        gif 怎样分解出每一帧,想想试试做一下结果并不太难。

   msdn相关方法的介绍:http://msdn.microsoft.com/zh-cn/library/system.drawing.image.framedimensionslist(VS.80).aspx

这里找到的一个实例:http://topic.csdn.net/t/20050216/02/3784633.html

原图(gif)

 

读出来显示:

vb.net 、c# 、GDI+分解显示GIF图片_第1张图片

 非常简单的一短实现代码(vb.net):

Imports  System
Imports  System.Drawing
Imports  System.Drawing.Drawing2D
Imports  System.Drawing.Image
Imports  System.Drawing.Imaging
Imports  System.Threading
Public   Class Form1

   
    
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        
Dim path As String = "C:Documents and SettingsAdministrator桌面0.gif"

        
Dim g As Graphics = Me.CreateGraphics
        
Dim bitmap As New Bitmap(path) '定义一个bitmap对象
        Dim guid As Guid() '定义一个guid数据,guid标识gif的每一帧
        ' Dim conebit As Bitmap
        guid = bitmap.FrameDimensionsList() '获取guid数组

        
Dim fd As New FrameDimension(guid(0))

        
Dim count As Integer = bitmap.GetFrameCount(fd)

        
For i As Integer = 0 To count - 1

            bitmap.SelectActiveFrame(fd, i)

            
' conebit = New Bitmap(bitmap, bitmap.Width, bitmap.Height)
            g.DrawImage(bitmap, i * bitmap.Width, 0)

        
Next

    
End Sub


End Class

 

 

 

 

 

 

你可能感兴趣的:(vb.net 、c# 、GDI+分解显示GIF图片)