图形文件格式

常见图片格式详解

依然范特西╮ 提交于 2019-12-31 04:48:16
标明原作者信息 http://www.cnblogs.com/xiangism 做了几年有关图形、图像的工作,对图片格式算是小有经验,在此写成一文章总结下。虽然一开始并不想讲很理论的东西,但写完后发现几乎全是理论,细想一下关于图片格式的知识本身就是理论的东西,囧~~ 那就力求用最简单的方式将这些“理论”讲清楚吧。 常见的图片格式有bmp, jpg(jpeg), png, gif, webp等。 图像基本数据结构 要讲图片格式还先得从图像的基本数据结构说起。在计算机中, 图像是由一个个像素点组成,像素点就是颜色点,而颜色最简单的方式就是用RGB或RGBA表示, 如图所示 (图1) (图2) 如果有A通道就表明这个图像可以有透明效果。 R,G,B每个分量一般是用一个字节(8位)来表示,所以图(1)中每个像素大小就是3*8=24位图, 而图(2)中每个像素大小是4*8=32位。 这里有三点需要说明: 一、图像y方向正立或倒立 图像是二维数据,数据在内存中只能一维存储,二维转一维有不同的对应方式。比较常见的只有两种方式: 按像素“行排列”从上往下或者从下往上。 如图所示的图像有9个像素点,如果从上往下排列成一维数据是(123456789), 如果是从下往上排列则为(789456123)。 只所以会有这种区别是因为,前一种是以计算机图形学的屏幕坐标系为参考(右上为原点,y轴向下 )

常见图片格式PNG,JPEG,BMP,GIF区别总结

左心房为你撑大大i 提交于 2019-12-31 04:47:08
在前端工作久了经常会遇到各种格式的图片文件,现文做一些区别总结,帮助理解但不深入。 【PNG】(Portable Network Graphics) PNG是一种无损压缩的位图图形格式,主要有PNG8、PNG24、PNG32三种格式,主要区别如下: PNG8)8位PNG,最大支持2的8次方=256色,支持256阶alpha透明,支持索引色透明 PNG24)24位PNG,最大支持2的24次方>1600万色,不支持256阶alpha透明和索引色透明 PNG32)32位PNG,最大支持2的24次方>1600万色,在PNG24的基础上补了8位,用于支持256阶alpha透明,不支持索引色透明 【JPEG】(Joint Photographic Experts Group) JPG的文件格式是JPEG,由于早期系统文件扩展名只支持3个字符,所以简写成了JPG,由于养成了习惯,JPG比JPEG更流行,本质没有区别。 JPEG不能存储透明信息。 JPEG的压缩标准可分为标准JPEG、渐进式JPEG及JPEG2000三种,主要区别如下: 标准JPEG)以24位存储颜色的格式。展现方式为由上而下依次加载图片,直到图片全部加载完成,才能看到完整的图片。支持压缩,但可能有损耗。 渐进式JPEG)标准JPEG的改良格式。展现方式为交错加载图片,先呈现模糊外观,等到全部加载完再显示完整的原图。

常见图片格式详解

南楼画角 提交于 2019-12-25 02:58:20
做了几年有关图形、图像的工作,对图片格式算是小有经验,在此写成一文章总结下。虽然一开始并不想讲很理论的东西,但写完后发现几乎全是理论,细想一下关于图片格式的知识本身就是理论的东西,囧~~ 那就力求用最简单的方式将这些“理论”讲清楚吧。 常见的图片格式有bmp, jpg(jpeg), png, gif, webp等。 图像基本数据结构 要讲图片格式还先得从图像的基本数据结构说起。在计算机中, 图像是由一个个像素点组成,像素点就是颜色点,而颜色最简单的方式就是用RGB或RGBA表示, 如图所示 (图1) (图2) 如果有A通道就表明这个图像可以有透明效果。 R,G,B每个分量一般是用一个字节(8位)来表示,所以图(1)中每个像素大小就是3*8=24位图, 而图(2)中每个像素大小是4*8=32位。 这里有三点需要说明: 一、图像y方向正立或倒立 图像是二维数据,数据在内存中只能一维存储,二维转一维有不同的对应方式。比较常见的只有两种方式: 按像素“行排列”从上往下或者从下往上。 如图所示的图像有9个像素点,如果从上往下排列成一维数据是(123456789), 如果是从下往上排列则为(789456123)。 只所以会有这种区别是因为,前一种是以计算机图形学的屏幕坐标系为参考(右上为原点,y轴向下 ),而另后一种是以标准的数学坐标系为参考(右下为原点,y轴向上)。这两个坐标系只是y值不一样

图像PNG格式介绍

蓝咒 提交于 2019-12-23 05:25:45
1 图像 png 格式简介   PNG是20世纪90年代中期开始开发的图像文件存储格式,其目的是企图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。流式网络图形格式(PortableNetwork Graphic Format,PNG)名称来源于非官方的“PNG’s NotGIF”,是一种位图文件(bitmapfile)存储格式,读成“ping”。PNG用来存储灰度图像时,灰度图像的深度可多到16位,存储彩色图像时,彩色图像的深度可多到48位,并且还可存储多到16位的α通道数据。PNG使用从LZ77派生的无损数据压缩算法。 2 图像 png 文件结构   PNG图像格式文件(或者称为数据流)由一个8字节的PNG文件署名(PNG filesignature)域和按照特定结构组织的3个以上的数据块(chunk)组成。   PNG定义了两种类型的数据块,一种是称为关键数据块(criticalchunk),这是标准的数据块,另一种叫做辅助数据块(ancillarychunks),这是可选的数据块。关键数据块定义了4个标准数据块,每个PNG文件都必须包含它们,PNG读写软件也都必须要支持这些数据块。虽然PNG文件规范没有要求PNG编译码器对可选数据块进行编码和译码,但规范提倡支持可选数据块。 3 图像 png 文件特性   PNG文件格式保留GIF文件格式的下列特性:

GIF/PNG/JPG和WEBP/base64/apng图片优点和缺点整理

有些话、适合烂在心里 提交于 2019-12-20 18:16:34
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>   GIF / PNG /JPG/ WEBP / APNG 都是属于 位图 (位图 ,务必区别于 矢量图 );  GIF/PNG和JPG这三种格式的图片被广泛应用在现今的互联网中,gif曾在过去互联网初期慢速的情况下几乎是做到了大一统的地位,而现如今随着互联网技术应用和硬件条件的提高, png 和jpg格式的图片越来越多的被应用,gif昔日的辉煌一去不复, webp 图片格式现在还不普及: GIF(Graphics Interchange Format)   GIF 图形交换格式 是一种位图图形文件格式,以8位色(即256种颜色)重现真彩色的图像。 它实际上是一种压缩文档, 采用LZW压缩算法进行编码,有效地减少了图像文件在网络上传输的时间。它是目前广泛应用于网络传输的图像格式之一。 优点   1. 优秀的压缩算法使其在一定程度上保证图像质量的同时将体积变得很小。   2. 可插入多帧,从而实现动画效果。   3. 可设置透明色以产生对象浮现于背景之上的效果。 缺点   由于采用了8位压缩,最多只能处理256种颜色(2的8次方),故不宜应用于真彩图像。 PNG(Portable Network Graphics)   便携式网络图片(Portable Network Graphics),简称PNG

ArcGIS三大文件格式解析

点点圈 提交于 2019-12-19 03:42:39
Shape数据 Shapefile是ArcView GIS 3.x的原生数据格式,属于简单要素类,用点、线、多边形存储要素的形状,却不能存储拓扑关系,具有简单、快速显示的优点。一个shapefile是由若干个文件组成的,空间信息和属性信息分离存储,所以称之为“基于文件”。 每个shapefile,都至少有这三个文件组成,其中: *.shp 存储的是几何要素的的空间信息,也就是XY坐标 *.shx 存储的是有关*.shp存储的索引信息。它记录了在*.shp中,空间数据是如何存储的,XY坐标的输入点在哪里,有多少XY坐标对等信息 *.dbf 存储地理数据的属性信息的dBase表 这三个文件是一个shapefile的基本文件,shapefile还可以有其他一些文件,但所有这些文件都与该shapefile同名,并且存储在同一路径下。 其它较为常见的文件: *.prj 如果shapefile定义了坐标系统,那么它的空间参考信息将会存储在*.prj文件中 *.shp.xml 这是对shapefile进行元数据浏览后生成的xml元数据文件 *.sbn 和 *.sbx 这两个存储的是shapefile的空间索引,它能加速空间数据的读取。这两个文件是在对数据进行操作、浏览或连接后才产生的,也可以通过ArcToolbox >Data Management Tools >Indexes >Add

Python文件格式 .py .pyc .pyw .pyo .pyd的主要区别

落花浮王杯 提交于 2019-12-17 02:25:07
Python是一种面向对象、解释型计算机程序设计语言。Python 语法简洁、清晰,具有丰富和强大的类库。 Python源代码遵循 GPL (GNU General Public License) 协议,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。 Python 常被称为胶水语言,能把用其他语言编写的各模块 (尤其是 C/C++) 轻松地联结在一起。常见情形是,用 Python 快速生成程序原型 (有时甚至是程序最终界面),然后对其中有特别要求的部分,用更合适的语言改写;譬如:3D 游戏中的图形渲染模块,性能要求特别高,就可用 C/C++ 重写,而后封装为 Python 可调用的扩展类库。需要注意的是,在您使用扩展类库时可能需要考虑平台问题,某些扩展类库可能不提供跨平台实现。 一般认为,Python 是一种解释性语言,Python 在执行时,会先将 .py 文件中的源代码编译成 byte code (字节码),然后再由 Python Virtual Machine 来执行这些编译 byte code。 这种机制的基本思想跟 Java、.NET 一致;但 Python Virtual Machine 与 Java 或 .NET 的 Virtual Machine 不同的是:Python 的 Virtual Machine

DNG文件格式详解

馋奶兔 提交于 2019-12-07 18:28:17
DNG 文件格式 Author: show Date: 2017/01/12 1、 DNG 基本概述 DNG(Digital Negative)是Adobe开发的一种开放的raw image file format,主要 目的 是为了统一不同厂商 raw格式 。 DNG格式是在TIFF6.0的基础上扩展出来的,所以DNG必须符合TIFF6.0的所有规则。里面使用的tag基本上都定义在TIFF或者TIFF/EP中。 l TIFF TIFF是一个灵活适应性强的文件格式。通过在文件标头中使用TAG"标签",它能够在一个文件中处理多幅图像和数据。标签能够标明图像的如图像大小这样的基本几何尺寸,或者定义图像数据是如何排列的,或者是否使用了各种各样的 图像压缩 选项 。并且标签可扩展。 l TIFF/EP 一个 ISO标准,定义了TIFF中的TAG属性。 2、 TIFF6.0 结构 Tiff 格式由三部分构成 IFH,IFD,DE 。 UE 打开文件切取的部分数据。 从 FE 00 的红色框选开始都表示 Tag 的 ID 。 l IFH, Image File Header , 图像文件头 每一幅 DNG图像是以8字节的IFH开始的。 Byte 0-1: 字节顺序标志位, 值为II或者MM。II表示小字节在前, 又称为 little-endian。MM表示大字节在前,又成为big-endian

四道图片隐写题

血红的双手。 提交于 2019-12-06 11:09:01
第一题 打开压缩包得到的是一张PNG格式的图片 首先拖放到010Editor中: CTRL+F 搜索IHDR发现只有一个,没有其他问题 然后放到KALI中分析一波: 图片能够在kali中打开,说明不是宽高的隐写,因为如果修改了宽高在linux中是无法正常显示的 然后binwalk分析一波: 同样的没有什么问题 最后就是放到 stegslove里面试一试了 简单的科普一下png的知识 png支持RGBA四个通道,每个通道占8个二进制位,隐写文件或数据一般都在各个通道的低位,因为低位的变化不会引起较大的视觉变化,图片看上去还是原来的图片,但是你不知道是在哪个通道,这里有4个通道,如果藏在一个通道的低位的话,有四种可能,如果藏在两个通道的低位的话,可能进行各种运算操作后出现新的图片,加减乘除与或异或 发现Red plane 0是空的,按理来说应该也是”雪花“的,所以应该是有问题的 然后 Analyse - Data Extract,查看该通道,得知是LSB隐写 后面得知就是吧Alpha、Red、Green、Blue 0通道进行异或处理就能够得到flag了,可以通过stegslove获得,下面说一下通过python编写脚本进行色道分离异或处理的方法: #代码参考自合天智汇 import cv2 import numpy as np import os def lowbit(x):

前端开发中的各种图片原理

我怕爱的太早我们不能终老 提交于 2019-12-04 20:01:18
前言 随着web的发展,网站资源的流量也变得越来越大。据统计,60% 的网站流量均来自网站图片,可见对图片合理优化可以大幅影响网站流量,减小带宽消耗和服务器压力。 有时候你花大力气去配置 webpack 使打包体积减少,不如好好优化几张图片,这篇文章就是让你明白如何选择正确的图片,并且让你明白这么多图片格式,在什么场景下使用什么格式,如果想看答案,那么直接滑到文末看图即可。 基本概念 在进入正题之前,先聊聊一些图片相关的基本概念。 一张照片(位图)不断放大之后,会看到一个个小格子,这些小格子,叫像素。 一个格子(像素),在计算机中,用二进制来表示,使用的二进制位数越多,像素的色彩就越丰富。 举个🌰,如果一个像素用一位二进制数表示,能有多少种颜色呢? 两种,一个二进制位,要不放 0(表示黑色),要不放 1(表示白色) 下图展示了一个像素二进制的位数最多可以展示多少种颜色。 在对图片有了基本的了解之后,接下来对图片进行分下类,有利于理解各种格式图片的特点。 根据图的类型分类 点阵图(位图) 矢量图 位图(点阵图) 位图,也叫做点阵图,像素图。构成点阵图的最小单位是像素,位图就是由像素阵列的排列来实现其显示效果的, 每个像素有自己的颜色信息 ,在对位图图像进行编辑操作的时候,可操作的对象是每个像素,我们可以改变图像的色相、饱和度、透明度,从而改变图像的显示效果。