gpt4 book ai didi

vb.net - vb.net 中的 GIF 操作

转载 作者:行者123 更新时间:2023-12-04 03:19:50 28 4
gpt4 key购买 nike

是否有可能没有外部代码库,将 .gif 文件分成单独的帧,并反过来将一组图像组合成一个?

我花了一段时间使用 System.Drawing 命名空间,但似乎无法弄清楚如何做。

此外,我不知道要将什么作为 GetFrameCount 的参数传递。我不知道他们所说的“维度”是什么意思,显然它不能留空。

此外,是否可以在不首先拆分 gif 并以模仿播放的方式重新编译/显示的情况下对 gif 进行播放控制?

感谢您的帮助。

这是在 vb.net 中,2008 年。

编辑:如果没有外部库是不可能的,那么最好使用什么?

最佳答案

我使用了与此类似的代码并且它工作得很好......我没有发明它,所以感谢创造它的人(我忘记了)......(可能是 here )。

Private Class Frame
Public Property MilliSecondDuration As Integer
Public Property Bitmap As Image
Public Sub New(ByVal duration As Integer, ByVal img As Bitmap)
Me.MilliSecondDuration = duration
Me.Bitmap = img
End Sub
End Class

Private Function SeparateGif() As Frame()

Dim gif As Image = Image.FromFile("MyGif.gif")

Dim fd As New Imaging.FrameDimension(gif.FrameDimensionsList()(0))
Dim frameCount As Integer = gif.GetFrameCount(fd)
Dim frames(frameCount) As Frame

If frameCount > 1 Then
Dim times() As Byte = gif.GetPropertyItem(&H5100).Value
For i As Integer = 0 To frameCount - 1
gif.SelectActiveFrame(fd, i)
Dim length As Integer = BitConverter.ToInt32(times, 4 * i) * 10
frames(i) = New Frame(length, New Bitmap(gif))
Next
End If

Return frames

End Function

关于vb.net - vb.net 中的 GIF 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1387299/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com