原文链接:http://hi.baidu.com/coo_boi/item/1264a64172fe8dec1f19bc08

还是找了个C++的翻译下,原文链接:http://www.360doc.com/content/05/1122/15/1894_34348.shtml

GDI+的函数声明 我就不放上了,网上有个做好的GDI+公共模块。

Private Declare Sub RtlZeroMemory Lib "kernel32" (dest As Any, ByVal numBytes As Long)
Private Declare Sub RtlMoveMemory Lib "kernel32" (Destination As Any, Source As Any, ByVal Length As Long)
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private GifFramesDelay() As Long
Private Graphics As Long Private Sub Command1_Click()
Dim hImage As Long
Dim Guid As Clsid
Dim dCount As Long
Dim fCount As Long
Dim pItem_() As Byte
Dim pSize As Long
Dim pDelay() As Long
Dim bmpCLSID As Clsid Call GdipLoadImageFromFile(StrPtr("d:\1.gif"), hImage)
Guid = GetImageEncoderClsid(GIF)
'bmpCLSID = GetImageEncoderClsid(BMP)
Call GdipImageGetFrameDimensionsCount(hImage, dCount)
Call GdipImageGetFrameDimensionsList(hImage, Guid, dCount)
Call GdipImageGetFrameCount(hImage, Guid, fCount)
If fCount > Then
Call GdipGetPropertyItemSize(hImage, PropertyTagFrameDelay, pSize)
ReDim pItem_(pSize - )
ReDim GifFramesDelay(fCount - )
Call RtlZeroMemory(ByVal VarPtr(pItem_()), pSize)
Call GdipGetPropertyItem(hImage, PropertyTagFrameDelay, pSize, ByVal VarPtr(pItem_()))
'这里我把最后一个参数的类型(PropertyItem)改成了Any,直接读内存方便些
For i = To pSize - Step
GifFramesDelay(j) = pItem_(i)
j = j +
Next
For i = To fCount -
Call GdipImageSelectActiveFrame(hImage, Guid, i)
Call GdipDrawImage(Graphics, hImage, , )
Call delay_(GifFramesDelay(i) * )
'Call GdipSaveImageToFile(hImage, StrPtr("d:\" & i & ".bmp"), bmpCLSID, ByVal 0&)
Next
End If
Call GdipDisposeImage(hImage)
End Sub Private Sub Form_Load()
InitGDIPlus
Call GdipCreateFromHDC(Form1.hdc, Graphics)
End Sub Private Sub Form_Unload(Cancel As Integer)
Call GdipDeleteGraphics(Graphics)
TerminateGDIPlus
End Sub Private Sub delay_(ByVal d As Long)
Dim n As Long
n = GetTickCount()
Do Until n + d < GetTickCount()
DoEvents
Loop
End Sub

VB6之GIF分解的更多相关文章

  1. GDI+_从Bitmap里得到的Color数组值分解

    [这里写只是我个人的摸索经历,已经给出解决方案] 我之前写过一篇关于ARGB值的研究:https://www.cnblogs.com/lingqingxue/p/10362639.html 最近我又遇 ...

  2. 06.LoT.UI 前后台通用框架分解系列之——浮夸的图片上传

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  3. 07.LoT.UI 前后台通用框架分解系列之——强大的文本编辑器

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  4. 01.LoT.UI 前后台通用框架分解系列之——小图片背景全屏显示(可自动切换背景)

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  5. 02.LoT.UI 前后台通用框架分解系列之——灵活的菜单栏

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  6. 03.LoT.UI 前后台通用框架分解系列之——多样的表格

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  7. 04.LoT.UI 前后台通用框架分解系列之——轻巧的弹出框

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  8. 05.LoT.UI 前后台通用框架分解系列之——漂亮的时间选择器

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  9. 08.LoT.UI 前后台通用框架分解系列之——多样的Tag选择器

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

随机推荐

  1. 手机端的viewport属性

    Window.devicePixelRatioThis read-only property returns the ratio of the resolution in physical pixel ...

  2. 微信小程序对医疗创业的启示,“餐饮+微信小程序”的猜想

    一:微信小程序对医疗创业的启示:如何用完即走 仔细看了张小龙在28日微信公开课上发布小程序时的演讲全文,我觉得对解决当下医疗创业的困惑有着巨大的启发.没准还能开辟新的未来. 张小龙对小程序精髓的阐释是 ...

  3. 小程序的1024KB

    1024kb 只是一个目前编译后代码可上传最大限制,至于后期会不会更改,不得而知.个人只是想借 1024kb 来和大家一起交流一下,如何在限制下,挥舞大刀- 微信官方回答了,为什么有 1024kb 的 ...

  4. 分享一款在线less转css的神器

          大多数web开发的程序员都了解和使用过Less, LESS是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量.混合(mixin).函数等功能,让 CSS 更易维护.方便制作 ...

  5. 关机和重启Linux命令

    常用命令: shoutdown -h 10  十分钟后关机 shoutdown -r  10  十分钟重启 shoutdow -h now 立刻关机 shoutdow -r now 立刻重启 不安全的 ...

  6. 设计模式一:关于C++写观察者模式的一些收获

    先贴上部分代码: #include "stdafx.h" #include<iostream> #include<string> #include<v ...

  7. css块级元素居中

    <!DOCTYPE html> <html> <head> <title>index</title> </head> <b ...

  8. HTML标签类型及特点

    关键词:块级元素  行级元素 行内块元素   一. 概述           HTML(Hyper Text Markup Language )作为一种标记语言,网页所有的内容均书写在标签内部,标签是 ...

  9. 说说ajax上传数据和接收数据

    我是一个脑袋不太灵光的人,所以遇到问题,厚着脸皮去请教大神的时候,害怕被大神鄙视,但是还是被鄙视了.我说自己不要点脸面,那是不可能的,但是,为了能让自己的技术生涯能走的更长远一些,受点白眼,受点嘲笑也 ...

  10. ecshop支付方式含线下自提

    用户展示页面模板所在:如ecshop/theme/default/flow.dwt 后台管理展示页面模板所在:如admin/templates/payment_list.htm ecshop 支付接口 ...