以后都要悬梁刺骨,发奋图强了.

记载自己的学习,工作,成长,感悟.

#if 1
          char buff_filename[FILE_LEN];
          FILE *fp;
          U16 file_length=0,i=0;
          sprintf(buff_filename,"/mnt/part1/%s",player_fileinfo.file_name);
          fp=fopen(buff_filename,"rb");
          fseek(fp,0L,SEEK_END);
          file_length=ftell(fp);
          fseek(fp,0L,SEEK_SET);
          if(fp!=NULL)
          {
           U8 markID=0;
           for(i=0;i<file_length;i++)
           {
            fseek(fp,i,SEEK_SET);
            fread(&markID,1,1,fp);
            if(markID==0xFF)
            {
             fseek(fp,i+1,SEEK_SET);
             fread(&markID,1,1,fp);
             if(markID==0xc0)
             {
              printf("current_position=%dbytes/n",ftell(fp));
              U16 buff,width,heigth;
              fseek(fp,i+1+4,SEEK_SET);
              fread(&buff,2,1,fp);
              heigth=(buff<<8)|(buff>>8);
              fseek(fp,i+1+6,SEEK_SET);
              fread(&buff,2,1,fp);
              width=(buff<<8)|(buff>>8);
              printf("width=%d,heigth=%d/n",width,heigth);
              break;
             }
            }
           }
          }
          fclose(fp);
          #endif

JPG图片文件头解析图片的宽高........

8个段,每个段的最大长度为65535,但一般都不固定也没有到最大长度:

  1. SOI  0xD8            图像开始
  2. APP0 0xE0            JFIF应用数据块
  3. APPn 0xE1 - 0xEF    其他的应用数据块(n, 1~15)
  4. DQT  0xDB           量化表
  5. SOF0 0xC0            帧开始
  6. DHT  0xC4           霍夫曼(Huffman)表
  7. SOS  0xDA           扫描线开始
  8. EOI  0xD9            图像结束

解析图片的时候,一般都先找到以上段的标志,紧接着标志的是该段的长度,两个字节..

图片宽高在SOF0段,先找0xFFC0标志,再偏移三个字节就到高度的位置,为两个字节,且为低字节在前,处理一下就得到JPG图片的高度.

图片的宽度紧接着高度为两个字节,处理同上.

JPG图片的高宽解析.相关推荐

  1. php根据图片地址获取图片原始高宽,Js获取图片原始宽高的实现代码

    如果我们页面看到的图片都是缩略图,那就需要做个图片点击放大效果,那么怎样获取图片的原始宽高呢?方法如下: //获取图片原始宽度 function getNaturalWidthAndHeight(im ...

  2. 使用纯CSS实现未知尺寸的图片(但高宽都小于500px)在500px的正方形容器中水平和垂直居中。你有几种方法?

    解决这个问题有多种方法 1.使用css hack 处理ie6下的问题. 2.嵌入其它标签使其垂直居中. 方法一: .box {             /*非IE的主流浏览器识别的垂直居中的方法*/ ...

  3. android 通过图片url获取宽高_通过 URL 获取图片宽高优化

    一张小图.png 前言 客户端研发时,有时会有这样的需求,需要根据图片链接地址获取图片的宽高来进行界面排版. 一般比较正规的做法,是服务端在返回数据时将图片的信息属性一起带回来,这也符合轻客户端设计规 ...

  4. 让图片算好高宽再显示

    var ctn = document.getElementById('img'); var imgO = new Image(); imgO.onload = function(){if(imgO.w ...

  5. 百度ueditor自适应(编辑器自适应页面,图片上传宽高,等)

    1.编辑器自适应页面 在实例化编辑器时加上 initialFrameWidth:'100%',//初始化编辑器宽度 代码 <!-- 加载编辑器的容器 --> <script id=& ...

  6. [转]图片格式WEBP全面解析

    前言 不管是 PC 还是移动端,图片一直是流量大头,以苹果公司 Retina 产品为代表的高 PPI 屏对图片的质量提出了更高的要求,如何保证在图片的精细度不降低的前提下缩小图片体积,成为了一个有价值 ...

  7. java图像处理002---JAVA图片压缩_图片缩放_图片按照比例缩放_图片指定长宽缩放_Java使用google开源工具Thumbnailator实现图片压缩

    JAVA技术交流QQ群:170933152 前言 作为靠谱的java服务端程序员,图片这个事情一直是个头疼的事情. 现在很多网站上,都有上传图片这个功能,而图片对于现在的很多手机来说,拍摄出来的都是高 ...

  8. 名编辑电子杂志大师教程 | 设置电子杂志的高宽比例

    这里设置的高宽比例,填的只是比例,打个比方,高2宽3,与高20宽30是一样的效果. 1.在名编辑电子杂志大师软件界面左边的"设计设置"栏,搜索"书比例",然后点 ...

  9. 人工智能图片素材高清,机器人图片卡通 素材

    1.做一个人工智能的ppt需要哪些素材 不能理解你的问题.ppt仅仅是一个做幻灯的软件,可以插入图片.动画.音乐.过场等幻灯的功能,还谈不上有人工智能的能力.人工智能需要有更为强大的类似人脑思维的能力 ...

最新文章

  1. python1000个常用代码-Python常用代码(1)
  2. weex 安装过程中遇到的坑
  3. 为什么gets如此危险?
  4. Java Enum学习总结
  5. iScroll5 API速查随记
  6. android自定义手势解锁View
  7. POJ 3009 Curling 2.0【带回溯DFS】
  8. linux amd64目录,创建基于amd64的qqforlinux的deb包
  9. 嵌入式开发技术汇总001+modbus RTU调试四件套 : modbus poll 7 ; modbus slave 6;modscan32;MThings 使用教程
  10. ScreenToClient和ClientToScreen
  11. 威胁猎人|改机工具在黑灰产中的应用
  12. 零基础如何学 Web 前端开发
  13. BUUCTF刷题记录 Harley Quinn
  14. 【图像隐藏】基于小波变换DWT实现数字水印嵌入提取含各类攻击附matlab代码
  15. 打包微服务前后端分离项目并部署到服务器 --- 分布式 Spring Cloud + 页面渲染 Nuxt.js
  16. 网络计算机应急处理,国家计算机网络应急技术处理协调中心-计算机网络安全应急处理.ppt...
  17. 日志20130104~0308
  18. 去年190家共享经济平台融资1159亿 共享汽车融资最多
  19. SPSS聚类分析(含k-均值聚类,系统聚类和二阶聚类)
  20. ElasticSearch的可视化应用 ElasticHD

热门文章

  1. 2022年钴酸锂、三元材料行业重点企业市场竞争规模份额占比分析及投资发展战略咨询预测
  2. 取巧方式无限制试用Source insight3.5
  3. nodejs 解析Android apk获取app icon
  4. npm 初始化_初始化npm的最佳时间
  5. linux 自动打卡脚本,Linux使用Cron+AT实现随机自动签到 执行随机命令
  6. Gartner 2022 年技术成熟度曲线显示数字政府的新动向
  7. 虚拟现实的未来—云VR将是VR发展的最佳选择和必然趋势!
  8. 绝地求生FGS小组赛结束,4AM挺进决赛,GoLink_一起为中国战队加油
  9. 抛硬币仿真实验java_探索HyperLogLog算法(含Java实现)
  10. 计算机与代数---函数导数数值结果计算