后台程序获取JPG/GIF/PNG图片宽度、高度
这是很久之前编写的代码,该代码是读取流数据指定位置的内容,获取图片的宽度、高度值。
由于系统更新,这些代码丢之不用,在这里存个档吧!
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图片宽度、高度的更多相关文章
- WINFORM中几句程序获取整个屏幕的图片及当前窗口的图片快照
/// <summary> /// 获取整个屏幕的图片 /// </summary> /// <returns></returns ...
- JQuery无法获取动态添加的图片宽度问题解决办法
$('.imgUl li,.v_img').click(function(){ var _left = 0; var _top = 0; $('body').append('<div class ...
- js获取Html元素的实际宽度高度
第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}.这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度. 第 ...
- 原生js获取Html元素的实际宽度高度
第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}.这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度. 第 ...
- [JavaScript] js获取Html元素的实际宽度高度
第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}.这中情况通 过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度. ...
- js获取浏览器body或窗宽度高度合集
<script type="text/javascript"> var s = " "; document.documentElement.scro ...
- 【亲测可行,图片宽度高度自适应】c# Graphics MeasureString精确测量字体宽度
, , ) { int count = number.Length; //需要配置的字段 //Font f = new Font("Microsoft Sans Serif", f ...
- 2018-11-26-win10-uwp-获取窗口的坐标和宽度高度
title author date CreateTime categories win10 uwp 获取窗口的坐标和宽度高度 lindexi 2018-11-26 15:4:0 +0800 2018- ...
- 用JQuery中的Ajax方法获取web service等后台程序中的方法
用JQuery中的Ajax方法获取web service等后台程序中的方法 1.准备需要被前台html页面调用的web Service,这里我们就用ws来代替了,代码如下: using System; ...
随机推荐
- 分享一下不错的样式,适用于Gridview,兼容性还不错!
使用方法很简单, 1.设置Gridview的[CssClass]属性为[tbinfo] 2.设置Gridview的[BorderWidth]属性为[0] 3.设置Gridview的[CellSpaci ...
- Boost noncopyable实现禁止拷贝的类
在C++中定义一个类,如果不明确定义拷贝构造函数和拷贝赋值操作符,编译期会为我们自动生成这两个函数.但是我们有时又希望禁止拷贝类的实例,这时可以私有化拷贝构造函数和拷贝赋值操作符即可. class d ...
- MySQL索引优化经验总结
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引 ...
- iOS:文字相关(19-01-08更)
0.写在前面 1.小技巧 UILabel类: 1-1-1).设置行间距富文本,有省略号要求的,需要再次设置省略(初始化时设置的会失效). UITextField类: 1-2-1).清空按钮. UITe ...
- Eclipse部署Web项目,常用操作和常见错误的解决方案
部署Web项目到tomcat 在eclipse中找到Servers项,打开服务器(F3)(建议直接删除服务器,重新建立再设置比较好)1.Servers Locations 中选择Use Tomcat ...
- bfs,队列
bfs bfs=队列 队列的操作 头文件 #include<deque> 声明方法: 1.普通声明 queue<int>q; 2.结构体 struct node { int x ...
- Bulk Rename Utility 3.0 + x64 中文汉化版
Bulk Rename Utility 3.0 + x64 中文汉化版由大眼仔旭(www.dayanzai.me)汉化发布.当发现做一件事情,原本用工具或软件进行批量处理也能达到相同效果,可却花了数倍 ...
- bootstrap世界探索2——万物的起源(网格系统)
万物的起源是非常神奇的,谁又能想到小小的细胞(文字排版)竟能构建大千世界. <!DOCTYPE html> <html lang="en"> <hea ...
- 基于Vue实现可以拖拽的树形表格(原创)
因业务需求,需要一个树形表格,并且支持拖拽排序,任意未知插入,github搜了下,真不到合适的,大部分树形表格都没有拖拽功能,所以决定自己实现一个.这里分享一下实现过程,项目源代码请看github,插 ...
- Linux多进程CS服务器简单测试
Linux多进程CS服务器简单实现 server端 多进程实现多用户连接,即每个用户一个连接,这里仍然用server将收到的字符串转大写后返回给客户端. 代码实现 #include <stdio ...