flex压缩图片exif信息(作者/相机)丢失问题解决(fbx模型压缩)一看就会

随心笔谈5个月前更新 admin
206 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

文章主要介绍了如何从网页元素中获取特定的EXIF信息。通过读取网页元素的原始数据(`e.target.data`),提取第四个字节(`exif`),判断其值是否为`0xFFE1`。如果是,则读取后续的EXIF数据并将其写入`file_item.exifArray`。如果`exif`值为`0xE0`,则跳过后续的`0xFF`和`0xE1`数据段,继续处理后续的EXIF信息。文章重点围绕EXIF信息的提取和处理逻辑进行描述。

//获取0xFFE1 app1也就是exif信息

var tempData:ByteArray=new ByteArray();

//这里的e.target.data是图片的原始byteArray

tempData.writeBytes(e.target.data,0,e.target.data.bytesAvailable);

tempData.position=3; //读取第四个字节

var exif:Number=tempData.readUnsignedByte();

if(exif==0xE1) { //看这个字节是不是0xE1

this.Debug(“有exif信息”);

//读一个长度

var exifLength:Number=tempData.readUnsignedShort();

file_item.exifArray.writeBytes(tempData,tempData.position-2,exifLength); //如果是,将exif信息读入一个文件对象

} else if(exif==0xE0) { //是e0,那么跳过这个frame,看下边

tempData.position=4;

var e0Length:Number=tempData.readUnsignedShort();

tempData.position=4+e0Length;//跳过e0

tempData.position +=1;//跳过0xff

var isEx:Number=tempData.readUnsignedByte();

if(isEx==0xE1) {

var len:Number=tempData.readUnsignedShort();

file_item.exifArray.writeBytes(tempData,tempData.position-2,len);

}

}

© 版权声明

相关文章