由于业务需要,tga格式的文件需要在软件系统中被直接调用
但是python目前的库都没有支持tga格式的解码
所以关刀阅读了tga格式的编码文档,决定做出一套解码函数

偏移0x2的字节为0x02 表示本文件是无颜色表RGB图像
偏移0xC - 0xD的字节为0x28 表示图像的宽为2x16 + 8 = 40像素
偏移0xE - 0xF的字节为0x23 表示图像的高为2x16 + 3 = 35像素

偏移0x10的字节为0x20 表示每像素占用32位(bit)
偏移0x11的字节为0x08 这段需要按位划分,先转化为二进制 00001000,从右到左位编号升高
3 - 0位 值为8 代表 TGA 32每像素对应的属性位的位数
4位 必须为0
5位 表示原点在左下角
7 - 6位 表示无交叉
由于无颜色表
偏移0x12 以及之后的字节都是图像数据域 RGBA
以Blue Green Red Alpha的顺序来存RGB二极管的发光强度以及透明通道Alpha

0x15f1 为图像文件的结束,
区间为 5617,而一共只有1400个像素点,其中每个像素点占4字节,则为5600

【原创】python 字节流操作tga格式图像文件 先码后看,更新中相关推荐

  1. Android Studio 的一些 常用操作和 编译报错 整理(持续更新中...)

    Android Studio 的一些 常用操作和 编译报错 整理(持续更新中...) 目录 Android Studio 的一些 常用操作和 编译报错 整理(持续更新中...) 一.Android s ...

  2. 【Python全栈开发从入门到实战】持续更新中......

    本专栏为Python全栈开发系列文章,技术包括Python基础.函数.文件.面向对象.网络编程.并发编程.MySQL数据库.HTML.JavaScript.CSS.JQuery.bootstrap.W ...

  3. python列表操作——列表嵌套列表,找出嵌套列表中共同的元素

    今天在项目中遇到了一个列表嵌套找出共同元素的问题,本来懒得造轮子,直接百度一波,查了一圈不是只有两个list就是使用Intersection这个函数,可能这个功能过于简单了没人写,我试着用Inters ...

  4. python基础和第三方库 笔记(python基础完结包括高级用法,第三方库持续更新中...)

    python基础 注:本笔记面向有一定基础的人 本笔记是本人快速复习python过程中记录的,不适合零基础的人学习python的主工具,可以作为辅工具,本笔记记录了入门阶段常用操作,如有错误的地方,希 ...

  5. 豆瓣机器人小组自动回复回帖 Python 源码(持续更新中)

    最近给朋友做了一个豆瓣小组自动评论机器人,使用 requests 与 lxml 库,在控制刷新频率的情况下,基本能做到头排评论.除了爬虫的这一部分,还很重要的是要能对帖子回复有趣的内容. 基本功能 同 ...

  6. python 自动复制分类_leetcode python 常见分类问题模板(复制粘贴就能用) 更新中......

    排序 插入.希尔.冒泡.选择 def insertSort(arr): for i in range(1,len(arr)): tmp = arr[i] for j in range(i-1,-1,- ...

  7. 操作的基本原则,每日必读【不断更新中】

    2021.9.13 港股 1.竞价阶段,当天下跌趋势时,可以以一个可接受的卖出,不要买入:上涨趋势时,以一个可接受价格买入,不要卖出 2.下跌时不要急着买入,要观察半天的趋势惯性后再买或者收盘时买:上 ...

  8. Python list 操作

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  9. word python 域 操作_Python进阶:关于 Word 基本操作

    1. 概述 Word 是一个十分常用的文字处理工具,通常我们都是手动来操作它,本节我们来看一下如何通过 Python 来操作. Python 提供了 python-docx 库,该库就是为 Word ...

最新文章

  1. 卡壳了~~~ 解决了~~~My Site创建成功了.....
  2. php swoole yii,yii2-swoole
  3. 冬奥会测试赛,助理裁判竟然是个AI!
  4. Android的事件分发
  5. Terrafugia希望在今年夏天带来真正可飞的Airplane
  6. mysql 定期备份策略,MySQL--3--mysqldump备份策略
  7. UML应用:业务内涵的分析抽象amp;表达
  8. spring+hibernate+mysql mvc 配置
  9. 进制转化进10进制数
  10. UE4中Component和Subobject的区别
  11. HTML简洁自适应个人码农主页源码
  12. c语言数学追赶法编程,计算方法——C语言实现——追赶法求解非线性方程
  13. 二阶无源低通滤波器幅频特性曲线_一文看懂二阶lc低通滤波器的设计及原理
  14. 外泌体,顶刊新宠丨一文 get 研究套路!
  15. python opencv图像叠加/图像融合/mask掩模
  16. android 仿微信选取相册_Android类似微信图片选择器
  17. 安焦删除贴 牛人纷纷出现(2)
  18. Topaz Gigapixel AI 人工智能放大软件
  19. MATLAB2021b详细安装教程
  20. TSINGSEE青犀视频构建pion webrtc运行broadcast示例的步骤

热门文章

  1. 58新媒体担保交易怎么解决商品交易过程中先付钱还是先发货的矛盾?
  2. HDU3466-排序+背包
  3. STM32驱动MLX90614红外测温模块
  4. mp4视频格式转换器工具,万兴优转-多功能视音频处理软件
  5. 《Nodejs开发加密货币》之三:Nodejs让您的前端开发像子弹飞一样
  6. Maven项目报错:“Plugin execution not covered by lifecycle configuration”解决过程
  7. 使用python的kazoo模块连接zookeeper实现最基本的增删改查
  8. 【论文笔记】3D点云分割-PointNet
  9. java毕业设计快递代取(附源码、数据库)
  10. 雷火豊 (易經大意 韓長庚)