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

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

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. 小米root

    ROOT之前,需要做几个准备工作: 首先,你需要去MIUI官网解锁,解锁教程见MIUI官网(百度搜索 MIUI解锁,第一个就是),然后根据官方指导进行解锁: 然后,因为MAX2的ROOT是卡刷,所以解 ...

  2. rhel install java jdk

    Linux安装JDK完整步骤 1.检查一下系统中的jdk版本 [root@localhost software]# java -version 显示: openjdk version "1. ...

  3. 字符型设备驱动程序-first-printf以及点亮LED灯(二)

    编译这几个函数之前要学一下:Linux 的几个操作命令. 学习地址:http://edu.51cto.com/lesson/id-101824.html 重要的命令 有4个 :分别是 1.lsmod, ...

  4. 图形剖析,当给 ul 设置padding=0, margin=0后 li前面的小黑点消失的现象原理!

  5. iOS之oc与html之间的交互(oc中调用js的方法)

    一.运行的效果图 1.刚开始的效果   2.运行结束后的效果   二.准备工作 1.准备一个html文件导入到oc工程中 2.jiaohu.html文件的原始内容   3.从oc语言中操作.html文 ...

  6. VB

    on error resume next: 从该语句开始,遇到错误时程序不会中止,也不会出现错误提示,将继续运行.作用范围直至程序结束或语句所在函数等结束 Public Property :可读也可写 ...

  7. js基础(闭包实例)

    1,常用发送短信的闭包实现: function sms() { var count = 60; return { start: function() { if(count == 0) { count ...

  8. C++笔记015:C++对C的扩展——三目运算符功能增强

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 三目运算符在C编译器中的表现: int main() { int a=10; int b=20; //三目运算符是一个表达式,表达式不能做 ...

  9. Symfony 框架实战教程——第一天:创建项目(转)

    这个系列的实战博客真是太有用了,很多例子自己调试也是通的,不同于很多网上不同的实战例子...附上原文地址  https://www.chrisyue.com/symfony-in-action-day ...

  10. 基于visual studio 2017 以及cubemx 搭建stm32的开发环境(1)

    参考如下文档: 传送门:http://www.stm32cube.com/article/128 如果链接不存在的话,下载我截屏好的图: 传送门:https://pan.baidu.com/s/1NC ...