JBuilder设计获取图片属性程序

一、基本概述

图片的应用越来越深入到我们的日常生活中, 譬如目前盛行的短信业务和初露头角的彩信业务等。因此,我们很有必要获取图片的字节数、格式、色彩数、宽度和高度等信息,以更好地在手机上达到完美的效果,满足消费者的迫切需要,提高业务的终合竞争力。

二、图片相关信息说明

1、GIF图片

GIF图片格式标识符为GIF87A/GIF89A两种,但我们一般看到的GIF图片后缀名均为"GIF"。利用UltraEdit软件打开某个GIF图片文件(例如178×42×32 GIF),你将会看到类似如下图(1)的内容(注意要点击那个"H"按钮哟!)。其格式、宽度、高度和色彩数信息位置不变,而且也是连续一起的。其中,蓝色框内的字符集显示图片格式信息,将十六进制的"47"转换为十进制就是"71",即"G"的ASCII码值,其余的依此类推,就将获得"GIF89A",通过这种方式获取图片的格式比直接获取图片的后缀名要可靠的多。因其后缀名用户可随意更改;红色框内每两位分别显示其宽度和高度信息,并从右往左读取,则分别"00B2"和"002A",即十进制为"178"和"42",也就是图片的宽度和高度;绿色部分显示图片的色彩信息,转换十进制之后为"196",然后进行除"8"得余数为"4",最后将其加"1"并作为"2"的幂,最终就是"32",即"2^(196%8+1)=32"。【其它格式图片参上】


图(1)

2、JPG图片

JPG图片格式标识符为"JFIF",而且其信息位置不变。但高度、宽度和色彩数信息位置不太确定,但他们是连续一起的。如下两图(2)[例如761×150×16M JPG]和图(3)[例如1984×1384×16M JPG]所示,并且不止这两种情况。现就图(2)作一些补充说明:红色框内每两位分别显示其高度和宽度信息,并从左往右读取,则分别为"0096"和"02F9",即十进制为"150"和"761",也就是图片的高度和宽度;绿色部分显示图片的色彩信息,转换十进制之后为"03",然后进行乘以"8"得"24",最后将其作为"2"的幂,最终就是"16M",即"2^(3*8+1)=16M"。不过,好像JPG图片的色彩数一般都是"16M"?!

图(2)


图(3)

注意:为了避免上述多种的情况的发生,从而导致我们处理非常麻烦,本人发现一个小小的技巧。利用Win操作系统自带的画图工具打开"JPG"文件,之后,不需作任何改变,只要保存替换即可。这时一个戏剧性的变化出来了,其高度、宽度和色彩数信息位置都变得跟图(2)类似,即图(4)是由图(3)变化二来的。


图(4)

时间: 2025-01-24 15:21:52

JBuilder设计获取图片属性程序的相关文章

函数计算实战-java爬虫程序从指定网站获取图片并存储到对象存储中的例子

前段时间阿里云函数计算推出了Java8版本的编译环境,我结合一个java语言来完成函数计算的代码编写,该示例主要是模拟一个网站图片爬虫,把指定网站的指定页面的图片全部获取并保存到对象存储中,画了一个简单的架构图如下: 流程讲解: 用户输入某个网站地址,并把爬虫系统部署到函数计算上,执行后函数计算会自动把某网站的图片抓取到本地,并通过内网的方式上传到对象存储(OSS)上.这里涉及到两段代码,一段是网站爬取图片的代码,一段是把图片上传到对象存储(略),我们下面结合上面的框图来看看代码构成.  在函数

安卓程序下标越界-android客户端从服务器获取图片报数组下标越界

问题描述 android客户端从服务器获取图片报数组下标越界 速求:各位大神好,帮忙给看一下,刚才运行安卓客户端从服务器获取图片报"数组下标越界",程序挂掉了,啥原因呢:public class MainActivity extends Activity implements OnScrollListener { private static final String TAG = null; private int count=0; public SimpleAdapter simpl

Android开发之使用ExifInterface获取拍照后的图片属性_Android

本文实例讲述了Android开发之使用ExifInterface获取拍照后的图片属性.分享给大家供大家参考,具体如下: ExifInterface exif = new ExifInterface(file.getPath()); String widthStr = exif.getAttribute(ExifInterface.TAG_IMAGE_WIDTH); String heightStr = exif.getAttribute(ExifInterface.TAG_IMAGE_LENGT

JS获取图片lowsrc属性的方法_javascript技巧

本文实例讲述了JS获取图片lowsrc属性的方法.分享给大家供大家参考.具体如下: lowsrc属性一般设置为图片的低分辨率图片地址,下面的代码可以通过点击链接显示图片的低分辨率版本 <!DOCTYPE html> <html> <body> <img id="compman" src="compman.gif" lowsrc="compman_lowres.gif" alt="Computer

Android开发之使用ExifInterface获取拍照后的图片属性

本文实例讲述了Android开发之使用ExifInterface获取拍照后的图片属性.分享给大家供大家参考,具体如下: ExifInterface exif = new ExifInterface(file.getPath()); String widthStr = exif.getAttribute(ExifInterface.TAG_IMAGE_WIDTH); String heightStr = exif.getAttribute(ExifInterface.TAG_IMAGE_LENGT

不走寻常路 设计ASP.NET应用程序的七大绝招

asp.net|程序|设计 不走寻常路 设计ASP.NET应用程序的七大绝招 随着微软.NET的流行,ASP.NET越来越为广大开发人员所接受.作为ASP.NET的开发人员,我们不仅需要掌握其基本的原理,更要多多实践,从实践中获取真正的开发本领.在我们的实际开发中,往往基本的原理满足不了开发需求,我们更多的要积累一些开发技巧,本文就向大家介绍一些实用技巧,希望对大家的开发有所裨益. 1. ~ 的用法 一般的情况下,我们是使用./../ 这样的相对路径来确定和规划我们的资源(比如图片.资源文件),

Visual C#设计多功能关机程序

visual|程序|设计 许多软件都有自动关机功能,特别是在长时间下载的时候,这个功能可是使你不用以守候在计算机前面,而电脑却能按照您事先的设定自动关闭.现在我们用visual C#来编写一个多功能的关机程序.该程序具有:定时关机.倒计时关机.关机提醒.系统信息获取等四项功能, 可设定关机时间精确到秒.并且让你很快掌握Visual C#中对API的操作程序. 一. 设计关闭Windows窗体 1. 界面的设计 新建一个标准工程,向工程中增加一个Windows窗体并向窗体中添加如下控件,并分别设置

Android应用的Material设计中图片的相关处理指南_Android

可伸缩的矢量图片不会丢失清晰度,并且单一颜色的app-icon是完美的 可定义一个bitmap作为透明度(alpha)和运行时的颜色 可对一个bitmap image取色,会取出它比较显眼的颜色 官网地址:https://developer.android.com/training/material/drawables.html 以下图片的功能能帮助你在app中实现Material设计: 图片着色 颜色提取 矢量图片 Tint Drawable Resources  为图片资源染色 在Andro

JavaScript获取图片的原始尺寸

页面里的img元素,想要获取它的原始尺寸,以宽度为例可能首先想到的就是width,如下 <img src=http://www.update8.com/Web/Javascript/"http://img11.360buyimg.com/da/g14/M07/01/0E/rBEhVlNhh8wIAAAAAADmFBLo1twAAM26gOmCgYAAOYs716.jpg"> <script>     var img = document.getElementsB