这是很久之前编写的代码,该代码是读取流数据指定位置的内容,获取图片的宽度、高度值。

由于系统更新,这些代码丢之不用,在这里存个档吧!

1. 获取gif图片宽度、高度。(binary_是图片流数据)

    '***************************
' 函数: gif_size()
' 说明: 获取gif的宽高值
' 返回: [Array]
' Array(0) 宽度值
' Array(1) 高度值
'
Private Function gif_size()
On Error Resume Next
Dim w, h
w = sysString.hexToOct( hex(ascb(midb(binary_,,))) & hex(ascb(midb(binary_,,))) )
h = sysString.hexToOct( hex(ascb(midb(binary_,,))) & hex(ascb(midb(binary_,,))) ) If Err.Number<> Then
gif_size = Array(,)
Err.Clear()
Else
If sysNumber.isInt(w, ) And sysNumber.isInt(h, ) Then
gif_size = Array(w, h)
Else
gif_size = Array(,)
End If
End If
End Function

2. 获取jpg图片宽度、高度。(binary_是图片流数据)

    '***************************
' 函数: jpg_size()
' 说明: 获取jpg的宽高值
' 返回: [Array]
' Array(0) 宽度值
' Array(1) 高度值
'
Private Function jpg_size()
On Error Resume Next
Dim w, h
Dim splitStr, i, tmp_binary 'FF 的ASC值为 255 C0 的ASC值为 192
'split是无法将流进行分割,但instrb可以获取标识所在的位置点
'由于有些图片含有多个ff c0标识,但最后一个才是最终的标识,所以采用反复不停过滤掉ff c0方式
tmp_binary = binary_
splitStr = chrb() & chrb()
i = instrb(tmp_binary, splitStr)
Do While i<>
w = sysString.hexToOct( hex(ascb(midb(tmp_binary,i+,))) & hex(ascb(midb(tmp_binary,i+,))) )'宽
h = sysString.hexToOct( hex(ascb(midb(tmp_binary,i+,))) & hex(ascb(midb(tmp_binary,i+,))) )'高
tmp_binary = midb(tmp_binary,i+)
i = instrb(tmp_binary, splitStr)
Loop If Err.Number<> Then
jpg_size = Array(,)
Err.Clear()
Else
If sysNumber.isInt(w, ) And sysNumber.isInt(h, ) Then
jpg_size = Array(w, h)
Else
jpg_size = Array(,)
End If
End If
End Function

3. 获取png图片宽度、高度。(binary_是图片流数据)

    '***************************
' 函数: jpg_size()
' 说明: 获取jpg的宽高值
' 返回: [Array]
' Array(0) 宽度值
' Array(1) 高度值
'
Private Function png_size()
On Error Resume Next
Dim w, h
w = sysString.hexToOct( hex(ascb(midb(binary_,,))) & hex(ascb(midb(binary_,,))) & hex(ascb(midb(binary_,,))) & hex(ascb(midb(binary_,,))) )
h = sysString.hexToOct( hex(ascb(midb(binary_,,))) & hex(ascb(midb(binary_,,))) & hex(ascb(midb(binary_,,))) & hex(ascb(midb(binary_,,))) )'高 If Err.Number<> Then
png_size = Array(,)
Err.Clear()
Else
If sysNumber.isInt(w, ) And sysNumber.isInt(h, ) Then
png_size = Array(w, h)
Else
png_size = Array(,)
End If
End If
End Function

后台程序获取JPG/GIF/PNG图片宽度、高度的更多相关文章

  1. WINFORM中几句程序获取整个屏幕的图片及当前窗口的图片快照

    /// <summary> /// 获取整个屏幕的图片        /// </summary>        /// <returns></returns ...

  2. JQuery无法获取动态添加的图片宽度问题解决办法

    $('.imgUl li,.v_img').click(function(){ var _left = 0; var _top = 0; $('body').append('<div class ...

  3. js获取Html元素的实际宽度高度

    第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}.这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度. 第 ...

  4. 原生js获取Html元素的实际宽度高度

    第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}.这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度. 第 ...

  5. [JavaScript] js获取Html元素的实际宽度高度

    第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}.这中情况通 过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度. ...

  6. js获取浏览器body或窗宽度高度合集

    <script type="text/javascript"> var s = " "; document.documentElement.scro ...

  7. 【亲测可行,图片宽度高度自适应】c# Graphics MeasureString精确测量字体宽度

    , , ) { int count = number.Length; //需要配置的字段 //Font f = new Font("Microsoft Sans Serif", f ...

  8. 2018-11-26-win10-uwp-获取窗口的坐标和宽度高度

    title author date CreateTime categories win10 uwp 获取窗口的坐标和宽度高度 lindexi 2018-11-26 15:4:0 +0800 2018- ...

  9. 用JQuery中的Ajax方法获取web service等后台程序中的方法

    用JQuery中的Ajax方法获取web service等后台程序中的方法 1.准备需要被前台html页面调用的web Service,这里我们就用ws来代替了,代码如下: using System; ...

随机推荐

  1. vlc-android native调试配置

    1, 按照官网给出的链接,git clone代码,配置好android sdk,ndk...后运行compile.sh; 2, 出现一个protobuf相关的问题(貌似要求protobuf3),自己去 ...

  2. 404 Note Found 队-Alpha10

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...

  3. 【Step By Step】将Dotnet Core部署到Docker下

    一.使用.Net Core构建WebAPI并访问Docker中的Mysql数据库 这个的过程大概与我之前的文章<尝试.Net Core—使用.Net Core + Entity FrameWor ...

  4. 32位 的变量 用于表示 ms ,可以表示多少天那?

    1.在  TI  的 BLE 协议栈 中,即 OSAL 中 获取当前 系统 tick 的方法如下 /* * Read the system clock - returns milliseconds * ...

  5. 简单的 Android 菜单

    Android 创建简单的菜单 一:上下文菜单: 1.在 res 下创建菜单项资源文夹 menu app->右击res->new->android resourse director ...

  6. oracle查询用户的权限

    DBA_* 描述的是数据库中的所有对象 ALL_* 描述的是当前用户有访问权限的所有对象 USER_* 描述的是当前用户所拥有的所有对象 查看所有用户:  select * from dba_user ...

  7. OO第三次博客作业——规格

    OO第三次博客作业——规格 一.调研结果: 规格的历史: 引自博文链接:http://blog.sina.com.cn/s/blog_473d5bba010001x9.html 传统科学的特点是发现世 ...

  8. Vue 源码分析——构造函数原型

    在执行 npm run dev 的时候 根据script/config.js 文件中的配置 'web-full-dev': { entry: resolve('web/entry-runtime-wi ...

  9. Python的迭代器与装饰器

    '''迭代器:两个基本方法:iter()和next()迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合等第一个元素开始访问,直到所有的元素被访问结束,迭代器只能往前不会后退. 迭代器有两个基本 ...

  10. 在TextBrowser显示中,如何让最新的数据永远出现在第一行或者是在窗口的最后显示信息

    这是第一行,但是随着数据的增多,最新的数据就会在末尾显示,然后就看不到了.可以用 main_ui->ReceiveDatatextBrowser->insertPlainText(strD ...