精华内容
下载资源
问答
  • photoshop 图像处理基础 - 图像的文件格式 1PSD/PSB文件格式 PSD格式是 ...30万像素的文件 且可以保存图像中的图 层通道和路径等所有信息 PSB格式的缺点在于存储的图像文件特 别大占用磁盘空间较多 由于一些排版软件不
  • TGA图像文件格式分析

    2021-03-24 14:31:12
    什么是TGA? TGA(Targa)格式是计算机上应用最广泛图象格式。...TGA图像格式最大特点是可以做出不规则形状图形、图像文件,一般图形、图像文件都为四方形,若需要有圆形、菱形甚至是缕空的图像文件时,TGA就可

    什么是TGA?

    TGA(Targa)格式是计算机上应用最广泛的图象格式。在兼顾了BMP的图象质量的同时又兼顾了JPEG的体积优势 。并且还有自身的特点: 通道效果、方向性 。在CG领域常作为影视动画的序列输出格式,因为兼具体积小和效果清晰的特点。

    TGA的结构比较简单,属于图形、图像数据的通用格式,在多媒体领域有很大影响,是计算机生成图像向电视转换的一种首选格式 。TGA图像格式最大的特点是可以做出不规则形状的图形、图像文件,一般图形、图像文件都为四方形,若需要有圆形、菱形甚至是缕空的图像文件时,TGA就可以派上用场 。

    TGA格式支持压缩,使用不失真的压缩算法。

    一、TGA文件格式是怎样的?

    在这里插入图片描述
    (图源网络)

    如图所示,新的TGA文件包含5个区域:
    (1)TGA文件头(TGA File Header);
    (2)图像/颜色表数据(Image/Color Map Data);
    (3)开发者区域(Developer Area);
    (4)拓展区域(Extension Area);
    (5)TGA文件注脚(TGA File Footer)

    TGA文件格式中涉及几种类型的颜色?

    1、伪彩色(pseudo-color)图像的每个像素值实际上是一个索引值或代码,该代码值作为色彩查找表CLUT(Color Look-Up Table)中某一项的入口地址,根据该地址可查找出包含实际R、G、B的强度值。这种用查找映射的方法产生的色彩称为伪彩色。

    2、真彩色(true-color)是指图像中的每个像素值都分成R、G、B三个基色分量,每个基色分量直接决定其基色的强度,这样产生的色彩称为真彩色。

    3、调配色(direct-color)的获取是通过每个像素点的R、G、B分量分别作为单独的索引值进行变换,经相应的色彩变换表找出各自的基色强度,用变换后的R、G、B强度值产生的色彩。

    二、TGA文件各部分都包含哪些字段?

    文件头包含哪些字段?

    1、图像信息字段长度(ID length)– 字段1(1个字节):这个字段规定了包含在字段6(Image ID字段)中的字节数,最大的字符数是255,它的值为0,则表示在这个文件中没有图像信息字段。

    2、颜色表类型(Color Map Type)– 字段2(1个字节):当前已定义的有两个值0或者1,0 表示没有颜色表(color map),1 表示颜色表存在。前面的128个颜色表类型码由Truevision保留使用,而后面的128个颜色表类型码(128-255)能用于开发者的应用中。

    3、图像类型(Image Type)– 字段3(1个字节):TGA文件格式可以用于存储各种位深度的伪彩色,真彩色,调配色,目前定义了7种文件格式。

    4、颜色表规约(Color Map Specification) – 字段 4(5字节):这个字段和它的子字段描述图像中使用的颜色表,如果颜色表类型字段为0,则表示不存在颜色表,则5个字节应该被设置为0,这些字节需要写入文件中。

    字段4.1(2字节)颜色表首地址(First Entry Index):第一个颜色表表项的索引,是装载颜色表的首地址。

    字段4.2(2字节)颜色表长度(Color map Length):颜色表表项的数量

    字段4.3(1个字节)颜色表表项大小(Color map Entry Size): 每个表项占用的位数,典型的值有15,16,24,或者32位。

    5、图像规约(Image Specification)– 字段 5(10个字节):这个字段和它的子字段描述了图像的屏幕位置,尺寸和像素深度。

    字段5.1(2个字节) – 图像X位置的起始位置(X-origin of Image): 图像左下角的水平坐标

    字段5.2(2个字节) –图像Y位置的起始位置(Y-origin of Image): 图像左下角的垂直坐标

    字段5.3(2个字节) –图像宽度(Image Width)

    字段5.4(2个字节) –图像高度(Image Height)

    字段5.5(1个字节) –像素深度(Pixel Depth):这个字段表示每个像素占用的位数,通常的值是8,16,24,32位。

    字段5.6(1个字节) –图像描述符(Image Descriptor)

    图像/颜色表数据(Image/Color Map Data)包含哪些字段?

    1、图像信息字段(Image ID)– 字段 6(可变长):存储了图像的身份信息(Identifying Information)这个字段最长为255个字节,Field 1字段规定了它的长度。

    2、颜色表数据(Color Map Data) –字段7(可变长):这个变长字段包含了颜色表信息(LUT数据),字段4.3和字段4.2共同规定了字段7的长度。每个颜色表表项用整数个字节存储,规定每个颜色表的RGB采用连续的位存储,每个颜色的位长为MIN(Field 4.3/3,8)。

    3、图像数据(Image Data)– 字段 8(可变长):这个字段包含Width*Height个像素,每个像素的格式如下所示:(1)用伪彩色表示,则是一个颜色图的一个索引号;(2)真彩图,则是属性,红绿,蓝顺序的数据;(3)用调配色表示,就是独立的颜色表索引。

    开发者区域(DEVELOPER AREA)包含哪些字段?

    开发者数据(Developer Data) – 字段 9(可变长):开发者字段的尺寸和格式完全是由开发者规定的,读取包含这些信息的文件时,完全可以忽略它们,除非理解这些内容。文件可能包含多个开发者字段,所以需要创建开发者目录(Developer Directory),它是开发者区域中这些字段的映射表。开发者目录可以使用偏移量来表示,存储在TGA文件注角(File Footer)4-7字节内,该偏移量是从文件的起始位置算起至开发者目录的起始位置,如果偏移量为0,则不存在开发者字段。
    在这里插入图片描述开发者目录(图源网络)

    目录中的第一个short值,规定了在目录中标签的数量,余下的是一组TAG,OFFSET,和SIZE的组合,每个TAG是一个分布在0至65535之间的值,0-32767的值用于开发者使用,32668-65535之间的值被Truevision保留,Truevision维护一个标签列表,分配给一些公司。

    拓展区域(EXTENSION AREA)包含哪些字段?

    该拓展区域用于满足一些开发者对额外信息的需求,该区域的位置也是通过保存在TGA文件注脚中的偏移量来确定的,如果该偏移量为0,则不存在拓展区域。该区域包括拓展区域尺寸,作者名字,作者评论等信息,

    TGA文件注脚(TGA FILE FOOTER)包含哪些字段?

    最后26个字节表示文件注脚,但是对于原先版本的TGA文件格式不存在这个区域,可以扫描8-23字节,如果符合下列字符串:TRUEVISION-XFILE,说明很有可能存在注脚字段,否则则属于原先版本的TGA文件。该区域的格式如下所示:Bytes 0-3:拓展区域偏移量;Bytes 4-7:开发者区域偏移量;Bytes 8-23:签名;Byte 24:ASCII码”.”;Byte 25:二进制数0x00。

    三、TGA图片的压缩类型?

    TGA图片可以选择行程编码类型,行程编码利用到许多图片有很多像素的值相同的特点,对于大区域像素相同值的图片的行程编码可以有效的减小存储图像的大小。行程编码(RLE)图像包含两种类型的数据元素:行程包(Run-length Packet)和原始包(Raw Packet)。每个包的第1个字段称为重复计数字段(Repetition Count Field),第2个字段称为像素值字段(Pixel Value Field),行程包的像素值字段包含一个简单的像素值,而原始包的像素值字段包含一个可变长的像素值。重复计数字段的最高位(即位7)表明该包的类型,如果值为1,则是行程包,如果值为0,则为原始包。重复计数字段低7位规定了包中的像数值的数目,如果是行程包,它表明有像素值字段规定的像素值的连续像素数;如果是原始包,它规定了接下来的字段所包含的像素数。如果值为0,则实际有1个像素,如果值为0x7F,则有128个像素。

    行程包从不跨行编码像素,即使是一个扫描行的结尾和下一行的开始包含相同的像素值。这里举个例子说明上述两种包的区别,考虑有一行数据,128个3字节大小的像素,像素值都一样。用原始包表示,则需要3*128+1=385个字节;用行程包表示,则仅需要1+3=4个字节。

    下图分别为行程包(Run-length Packet)和原始包(Raw Packet)
    在这里插入图片描述在这里插入图片描述
    (图源网络)

    四、文件格式总结

    参考链接:https://blog.csdn.net/Blues1021/article/details/45438673?locationNum=5&fps=1

    在这里插入图片描述

    展开全文
  • 一、概述 .jpg .png-8 png-24 .jpeg 位图 (固定...其他图像格式都是基于像素处理,SVG 则是属于图像的形状描述,所以它本质上是文本文件,体积较小,且不管放大多少倍都不会失真。 XML 没有明确标签 储存数...

    一、概述

    .jpg .png-8 png-24 .jpeg 位图 (固定的像素点 单位像素点) 缩放会失真

    SVG 是一种基于 XML 语法的图像格式,全称是可缩放矢量图(Scalable Vector Graphics)。其他图像格式都是基于像素处理的,SVG 则是属于对图像的形状描述,所以它本质上是文本文件,体积较小,且不管放大多少倍都不会失真。

    XML 没有明确的标签 储存数据的结构

    HTML 结构 明确的标签

    在线转换网址: http://www.bejson.com/convert/

    SVG 文件可以直接插入网页,成为 DOM 的一部分,然后用 JavaScript 和 CSS 进行操作。

    <!DOCTYPE html>
    <html>
    <head></head>
    <body>
    <svg
    id="mysvg"
    xmlns="http://www.w3.org/2000/svg"
    viewBox="0 0 800 600"
    preserveAspectRatio="xMidYMid meet"
    >
    <circle id="mycircle" cx="400" cy="300" r="50" />
    <svg>
    </body>
    </html>
    

    上面是 SVG 代码直接插入网页的例子。

    SVG 代码也可以写在一个独立文件中,然后用<img><object><embed><iframe>等标签插入网页。

    <img src="circle.svg">
    <object id="object" data="circle.svg" type="image/svg+xml"></object>
    <embed id="embed" src="icon.svg" type="image/svg+xml">
    <iframe id="iframe" src="icon.svg"></iframe>
    

    CSS 也可以使用 SVG 文件。

    .logo {
    background: url(icon.svg);
    }
    

    二、语法

    2.1 <svg>标签

    SVG 代码都放在顶层标签<svg>之中。下面是一个例子。

    <svg width="100%" height="100%">
    <circle id="mycircle" cx="50" cy="50" r="50" />
    </svg>
    

    <svg>width属性和height属性,指定了 SVG 图像在 HTML 元素中所占据的宽度和高度。除了相对单位,也可以采用绝对单位(单位:像素)。如果不指定这两个属性,SVG 图像默认大小是300像素(宽) x 150像素(高)。

    如果只想展示 SVG 图像的一部分,就要指定viewBox属性。

    <svg width="100" height="100" viewBox="50 50 50 50">
    <circle id="mycircle" cx="50" cy="50" r="50" />
    </svg>
    

    ==<viewBox>属性的值有四个数字,分别是左上角的横坐标和纵坐标、视口的宽度和高度==。上面代码中,SVG 图像是100像素宽 x 100像素高,viewBox属性指定视口从(50, 50)这个点开始。所以,实际看到的是右下角的四分之一圆。

    注意,视口必须适配所在的空间。上面代码中,视口的大小是 50 x 50,由于 SVG 图像的大小是 100 x 100,所以视口会放大去适配 SVG 图像的大小,即放大了四倍。

    如果不指定width属性和height属性,只指定viewBox属性,则相当于只给定 SVG 图像的长宽比。这时,SVG 图像的默认大小将等于所在的 HTML 元素的大小。

    2.2 <circle>标签

    <circle>标签代表圆形。

    <svg width="300" height="180">
    <circle cx="30"  cy="50" r="25" />
    <circle cx="90"  cy="50" r="25" class="red" />
    <circle cx="150" cy="50" r="25" class="fancy" />
    </svg>
    

    上面的代码定义了三个圆。<circle>标签的cxcyr属性分别为横坐标、纵坐标和半径,单位为像素。坐标都是相对于<svg>画布的左上角原点。

    class属性用来指定对应的 CSS 类。

    .red {
    fill: red;
    }
    
    .fancy {
    fill: none;
    stroke: black;
    stroke-width: 3px;
    }
    

    SVG 的 CSS 属性与网页元素有所不同。

    • fill:填充色
    • stroke:描边色
    • stroke-width:边框宽度

    2.3 <line>标签

    <line>标签用来绘制直线。

    <svg width="300" height="180">
    <line x1="0" y1="0" x2="200" y2="0" style="stroke:rgb(0,0,0);stroke-width:5" />
    </svg>
    

    上面代码中,<line>标签的x1属性和y1属性,表示线段起点的横坐标和纵坐标;x2属性和y2属性,表示线段终点的横坐标和纵坐标;style属性表示线段的样式。

    2.4 <polyline>标签

    <polyline>标签用于绘制一根折线。

    <svg width="300" height="180">
    <polyline points="3,3 30,28 3,53" fill="none" stroke="black" />
    </svg>
    

    <polyline>points属性指定了每个端点的坐标,横坐标与纵坐标之间与逗号分隔,点与点之间用空格分隔。

    2.5 <rect>标签

    <rect>标签用于绘制矩形。

    <svg width="300" height="180">
    <rect x="0" y="0" height="100" width="200" style="stroke: #70d5dd; fill: #dd524b" />
    </svg>
    

    <rect>x属性和y属性,指定了矩形左上角端点的横坐标和纵坐标;width属性和height属性指定了矩形的宽度和高度(单位像素)。

    2.6 <ellipse>标签

    <svg width="300" height="180">
    <ellipse cx="60" cy="60" ry="40" rx="20" stroke="black" stroke-width="5" fill="silver"/>
    </svg>
    

    <ellipse>cx属性和cy属性,指定了椭圆中心的横坐标和纵坐标(单位像素);rx属性和ry属性,指定了椭圆横向轴和纵向轴的半径(单位像素)。

    2.7 <polygon>标签

    <polygon>标签用于绘制多边形。

    <svg width="300" height="180">
    <polygon fill="green" stroke="orange" stroke-width="1" points="0,0 100,0 100,100 0,100 0,0"/>
    </svg>
    

    <polygon>points属性指定了每个端点的坐标,横坐标与纵坐标之间与逗号分隔,点与点之间用空格分隔。

    2.8 <path>标签

    <path>标签用于制路径。

    <svg width="300" height="180">
    <path d="
    M 18,3
    L 46,3
    L 46,40
    L 61,40
    L 32,68
    L 3,40
    L 18,40
    Z
    "></path>
    </svg>
    

    <path>d属性表示绘制顺序,它的值是一个长字符串,每个字母表示一个绘制动作,后面跟着坐标。

    • M:移动到(moveto)
    • L:画直线到(lineto)
    • Z:闭合路径

    2.9 <text>标签

    <text>标签用于绘制文本。

    <svg width="300" height="180">
    <text x="50" y="25">Hello World</text>
    </svg>
    

    <text>x属性和y属性,表示文本区块基线(baseline)起点的横坐标和纵坐标。文字的样式可以用classstyle属性指定。

    2.10 <use>标签

    <use>标签用于复制一个形状。

    <svg viewBox="0 0 30 10" xmlns="http://www.w3.org/2000/svg">
    <circle id="myCircle" cx="5" cy="5" r="4"/>
    
    <use href="#myCircle" x="10" y="0" fill="blue" />
    <use href="#myCircle" x="20" y="0" fill="white" stroke="blue" />
    </svg>
    

    <use>href属性指定所要复制的节点,x属性和y属性是<use>左上角的坐标。另外,还可以指定widthheight坐标。

    2.11 <g>标签

    <g>标签用于将多个形状组成一个组(group),方便复用。

    <svg width="300" height="100">
    <g id="myCircle">
     <text x="25" y="20">圆形</text>
     <circle cx="50" cy="50" r="20"/>
    </g>
    
    <use href="#myCircle" x="100" y="0" fill="blue" />
    <use href="#myCircle" x="200" y="0" fill="white" stroke="blue" />
    </svg>
    

    2.12 <defs>标签

    <defs>标签用于自定义形状,它内部的代码不会显示,仅供引用。

    <svg width="300" height="100">
    <defs>
     <g id="myCircle">
       <text x="25" y="20">圆形</text>
       <circle cx="50" cy="50" r="20"/>
     </g>
    </defs>
    
    <use href="#myCircle" x="0" y="0" />
    <use href="#myCircle" x="100" y="0" fill="blue" />
    <use href="#myCircle" x="200" y="0" fill="white" stroke="blue" />
    </svg>
    

    2.13 <pattern>标签

    <pattern>标签用于自定义一个形状,该形状可以被引用来平铺一个区域。

    <svg width="500" height="500">
    <defs>
     <pattern id="dots" x="0" y="0" width="100" height="100" patternUnits="userSpaceOnUse">
       <circle fill="#bee9e8" cx="50" cy="50" r="35" />
     </pattern>
    </defs>
    <rect x="0" y="0" width="100%" height="100%" fill="url(#dots)" />
    </svg>
    

    上面代码中,<pattern>标签将一个圆形定义为dots模式。patternUnits="userSpaceOnUse"表示<pattern>的宽度和长度是实际的像素值。然后,指定这个模式去填充下面的矩形。

    2.14 <image>标签

    <image>标签用于插入图片文件。

    <svg viewBox="0 0 100 100" width="100" height="100">
    <image xlink:href="path/to/image.jpg"
     width="50%" height="50%"/>
    </svg>
    

    上面代码中,<image>xlink:href属性表示图像的来源。

    2.15 <animate>标签

    <animate>标签用于产生动画效果。

    <svg width="500px" height="500px">
    <rect x="0" y="0" width="100" height="100" fill="#feac5e">
     <animate attributeName="x" from="0" to="500" dur="2s" repeatCount=" indefinite " /> indefinite 无限次
    </rect>
    </svg>
    

    上面代码中,矩形会不断移动,产生动画效果。

    <animate>的属性含义如下。

    • attributeName:发生动画效果的属性名。
    • from:单次动画的初始值。
    • to:单次动画的结束值。
    • dur:单次动画的持续时间。
    • repeatCount:动画的循环模式。

    可以在多个属性上面定义动画。

    <animate attributeName="x" from="0" to="500" dur="2s" repeatCount="indefinite" />
    <animate attributeName="width" to="500" dur="2s" repeatCount="indefinite" />
    

    2.16 <animateTransform>标签

    <animate>标签对 CSS 的transform属性不起作用,如果需要变形,就要使用<animateTransform>标签。

    <svg width="500px" height="500px">
    <rect x="250" y="250" width="50" height="50" fill="#4bc0c8">
     <animateTransform attributeName="transform" type="rotate" begin="0s" dur="10s" from="0 200 200" to="360 400 400" repeatCount="indefinite" />
    </rect>
    </svg>
    

    上面代码中,<animateTransform>的效果为旋转(rotate),这时fromto属性值有三个数字,第一个数字是角度值,第二个值和第三个值是旋转中心的坐标。from="0 200 200"表示开始时,角度为0,围绕(200, 200)开始旋转;to="360 400 400"表示结束时,角度为360,围绕(400, 400)旋转。

    展开全文
  • TGA格式图片文件(Tagged Graphics)是由美国Truevision公司为其显示卡开发一种图像文件格式,文件后缀为".tga",已被国际上图形、图像工业所接受。TGA结构比较简单,属于一种图形、图像数据通用格式,在...

    一、TGA格式文件概述
    TGA格式图片文件(Tagged Graphics)是由美国Truevision公司为其显示卡开发的一种图像文件格式,文件后缀为".tga",已被国际上的图形、图像工业所接受。TGA的结构比较简单,属于一种图形、图像数据的通用格式,在多媒体领域有很大影响,是计算机生成图像向电视转换的一种首选格式。
    TGA图像格式最大的特点是可以做出不规则形状的图形、图像文件,一般图形、图像文件都为四方形,若需要有圆形、菱形甚至是缕空的图像文件时,TGA可就派上用场了! TGA格式支持压缩,使用不失真的压缩算法。
    新的TGA文件包含5个区域:
    (1)TGA文件头(TGA File Header):
    由图像描述信息字段长度、颜色表类型、图像类型、颜色表说明和图像说明五个字段组成,总计18字节,描述了图像存储的基本信息,应用程序可依据该部分字段值读写图像数据。
    (2)图像/颜色表数据(Image/Color Map Data):
    由图像描述信息(可选)、颜色表数据和图像数据三部分组成,用于存储图片的图像信息。
    (3)开发者区域(Developer Area):
    包含开发者定义字段列表和开发者字典(用于存储开发者定义字段的值),该区域为开发者扩展该文件格式提供接口,以便存储额外的信息。
    (4)拓展区域(Extension Area):
    由扩展区域大小、作者姓名、作者注释、日期/时间、工作名称/ID、工作累计耗时、编辑软件的名称、编辑软件的版本、关键颜色、像素宽高比、灰度值、颜色校正表偏移量、缩略图偏移量、扫描线表偏移量、alpha通道类型、扫描线表、缩略图图像数据和颜色校正表组成,为Truevision公司定义的标准扩展功能,以提供更多的图像附加信息。
    (5)TGA文件注脚(TGA File Footer):
    由扩展区域偏移量、开发者目录偏移量和TGA文件扩展格式签名三部分组成,用于验证TGA文件扩展格式,并可以确定扩展区域和开发者字典的位置。

    最后3个区域是在1980年9月以前增加的,所以1989年9月以前的TGA文件格式称为旧生版本TGA文件格式,1989年9月以后的则称为新版本的TGA文件格式。
    ————————————————

    展开全文
  • 2 | TGA文件格式分析

    2021-03-24 17:38:34
    TGA文件格式的结构比较简单,属于一种图形,图像数据的通用格式,在多媒体领域有着很大影响,是计算机生成图像向电视转换的一种首选格式。 TGA图像格式最大的特点是可以做出不规则形状的图形、图像文件,一般图形、...

    TGA文件格式分析

    关于TGA的简介:
    TGA文件格式的结构比较简单,属于一种图形,图像数据的通用格式,在多媒体领域有着很大影响,是计算机生成图像向电视转换的一种首选格式。
    TGA图像格式最大的特点是可以做出不规则形状的图形、图像文件,一般图形、图像文件都为四方形,若需要有圆形、菱形甚至是缕空的图像文件时,TGA可就派上用场,
    TGA格式支持压缩,使用不失真的压缩算法。
    (摘自百科)

    一、文件结构

    1. TGA原始文件结构(v1.0)
      文件头和图像/颜色表数据两部分组成

    2. TGA扩展文件结构(v2.0)
      文件头(Tga File Header):由图像描述信息字段长度、颜色表类型、图像类型、颜色表说明和图像说明五个字段组成,总计18字节,描述了图像存储的基本信息,应用程序可依据该部分字段值读写图像数据。
      图像/颜色表数据(Image/Color Map Data):由图像描述信息(可选)、颜色表数据和图像数据三部分组成,用于存储图片的图像信息。
      开发者自定义区域(Developer Area):包含开发者定义字段列表和开发者字典(用于存储开发者定义字段的值),该区域为开发者扩展该文件格式提供接口,以便存储额外的信息。
      扩展区域(Extension Area):由扩展区域大小、作者姓名、作者注释、日期/时间、工作名称/ID、工作累计耗时、编辑软件的名称、编辑软件的版本、关键颜色、像素宽高比、灰度值、颜色校正表偏移量、缩略图偏移量、扫描线表偏移量、alpha通道类型、扫描线表、缩略图图像数据和颜色校正表组成,为Truevision公司定义的标准扩展功能,以提供更多的图像附加信息。
      文件尾(TGA File Footer):由扩展区域偏移量、开发者目录偏移量和TGA文件扩展格式签名三部分组成,用于验证TGA文件扩展格式,并可以确定扩展区域和开发者字典的位置。
      在这里插入图片描述摘自新浪博客

    二、数据组织

    下面以该图片为例分析:
    在这里插入图片描述

    1、文件头
    typedef struct tagTgaFileHeader {
    BYTE 字段1—ID length;/说明字段6的长度,0表示没有字段6/
    BYTE 字段2—Color Map Type;/说明使用颜色表的类型,0 表示不使用颜色表;1 表示使用颜色表;2~225未定义/
    BYTE 字段3—Image Type;/说明使用的图像类型:
    0-没有图像数据
    1-未压缩,颜色表映射图像
    2-未压缩,真彩图像
    3-未压缩,黑白图像
    9-行程编码,颜色表映射图像
    10-行程编码,真彩图像
    11-行程编码,黑白图像
    /
    5BYTE 字段4—Color Map Specification;/颜色表说明:
    WORD颜色表首地址(First Entry Index)第一个颜色表表项的索引,是装载颜色表的首地址;
    WORD颜色表长度(Color map Length)颜色表包含元素个数;
    BYTE颜色表每一个元素大小(Color map Entry Size)15、16、24或32位,15位图像最高位置0,按16位存储;
    /
    10BYTE 字段5—Image Specification;/图像说明:
    WORD图像坐标原点X值(X-origin of Image)
    WORD图像坐标原点Y值(Y-origin of Image)
    WORD图像宽度(Image Width)
    WORD图像高度(Image Height)
    BYTE像素深度(Pixel Depth)表示每个像素占用的位数,8,16,24或32位
    BYTE图像描述(Image Descriptor) 0-3bit,规定了alpha值所占位数;4-5bit,表示坐标原点位置,00左下01右下10左上11右上;
    /
    }

    ·示例分析
    共18个字节在这里插入图片描述
    可以看出

    1. 00 -> 没有字段6—Image ID
    2. 00 ->不使用颜色表
    3. 0A ->行程编码,真彩图像
    4. 00 00 00 00 00 ->由于没有颜色表,相关说明均为0
    5. 图像坐标原点在左下角 xy值均为0
    6. 58 02 6D 02图像大小600x621
    7. 像素深度24位

    2、图像/颜色表数据
    typedef struct tagImage/ColorMapData {
    变长 字段6—Image ID;/存储图像的描述信息,由字段1图像信息字段长度(ID length)规定本字段的长度/
    变长 字段7—Color Map Data;/颜色表数据,颜色表类型为0时本字段不存在/
    变长 BYTE 字段8—Image Data;/*图像数据,存储颜色索引值,包含长x宽个像素,分别存放颜色(a)rgb分量:16位 gggbbbbb arrrrrgg 24位:BGR 32位:BGRA */
    }
    ·示例分析

    1. 无Image ID ,无Color Map Data
    2. 每个像素都有BGR,因此共应该600x621x3=1117800个字节图像数据,但由于进行了行程编码,实际存储的图像数据
      3.实际结束位置:在这里插入图片描述
      (4A53B)16=(304442)10
      304442-18=304424,远小于1117800,约缩小了3.6倍。

    3、开发者自定义区域
    typedef struct tagDeveloper Area{
    变长 字段9—Developer Fields;}
    开发者字段的尺寸和格式由开发者规定的,读取包含这些信息的文件时,完全可以忽略。文件可能包含多个开发者字段,所以需要创建开发者目录Developer Directory,它是开发者区域中这些字段的映射表。开发者目录可以使用偏移量来表示,存储在TGA文件注角File Footer的4-7字节内,该偏移量是从文件的起始位置算起至开发者目录的起始位置,如果偏移量为0,则不存在开发者字段。

    4、拓展区域
    typedef struct tagExtension Area
    字段10-27
    该拓展区域用于满足一些开发者对额外信息的需求,该区域的位置也是通过保存在TGA文件注脚中的偏移量来确定的,如果该偏移量为0,则不存在拓展区域。

    5、TGA文件注脚
    typedef struct tagTGAFileFooter{
    DWORD 字段28—Extension Area Offest;/扩展区域偏移量/
    DWORD 字段29—Developer Directory Offest/开发者字典偏移量/;
    16BYTE 字段30—Signature;/检测到此签名则文档为TGA扩展格式;反之为TGA原始格式/
    TYPE 字段31—End Character;/TGA文件结束字符/
    TYPE 字段32—End Of File;/文件结束符\0/}
    在这里插入图片描述

    1. 00 00 00 00->无扩展区域
    2. 00 00 00 00->无开发者字典
    3. 检测到签名TRUEVISION-XFILE,文档为TGA扩展格式
    4. 2E->文件结束字符
    5. 00->文件结束符
    展开全文
  • TGA格式图片文件(Tagged Graphics)是由美国Truevision公司为其显示卡开发一种图像文件格式,文件后缀为".tga",已被国际上图形、图像工业所接受。TGA结构比较简单,属于一种图形、图像数据通用格式,在...
  • TGA格式文件分析

    2021-04-06 18:18:10
    TGA(Tagged Graphics)文件是由美国Truevision公司为其显示卡开发一种 图像文件格式,已被国际上图形、图像工业所接受。现在已成为数字化图像,以及运用光线跟踪算法所产生高质量图像常用格式。TGA文件 ...
  • 给定一组属于不同场景的图像,我们从该图像组构造所有可能全景图,这是完全自动化过程 如何运行代码: 通过提供包含图像的目录名称(以“ .jpg”格式)来运行main函数。 该函数返回一个全景图像单元格,并显示...
  • 本文是该系列的第21篇。前几篇介绍的音频信号处理本质上属于一维信号,直接采样与输出即可。但图像属于二维信号,...Computer Vision System Toolbox中包含两个模块:Image From File可以读取图片格式的文件;Vid...
  • 看过很过讲BMP文件格式的博客,这篇文章写的很给力,大赞一把! BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像
  • 本仓库主要包含针对目标检测数据集增强手段和二进制文件图像的旋转,分解,缩小,亮度/变换变换等采用实验数据格式为VOC的格式,标签存储在xml文件中。代码中涉及一些对.xml文件的基本操作 2020/12/16更新 ...
  • 1.打开图片,可以按Ctrl或者Shift来进行多张图片选择或者用鼠标框选。... PSB大型文件格式支持PSD所有功能,并且支持高或宽达到300000像素超大文件。PSB文件属于新格式,只有CS或更高版本打开。  JP...
  • 图片格式

    2020-06-04 23:30:21
    常见图片格式 bmp格式:应用广泛图像信息较丰富,几乎不进行压缩。... exif格式是数码相机图像文件格式。 FPX 是拥有多重分辨率影像格式 SVG 是可缩放矢量图形格式 psd 是一种非压缩
  • TGA(Tagged Graphics)文件是由美国Truevision公司为其显示卡开发一种图像文件格式,已被国际上图形、图像工业所接受。现在已成为数字化图像,以及运用光线跟踪算法所产生高质量图像常用格式。TGA文件扩展...
  • SVG图像

    2019-01-28 18:22:00
    申明:闲暇学习阮一峰大佬博客(http://www.ruanyifeng.com/blog/2018/08/svg.html),所以想做...其他图像格式都是基于像素处理,SVG 则是属于图像的形状描述,所以它本质上是文本文件,体积较小,且不管放大...
  • c++生成tga文件

    2018-08-19 14:20:07
    TGA格式(Tagged Graphics)是由美国Truevision公司为其显示卡开发一种图像文件格式,文件后缀为".tga",已被国际上图形、图像工业所接受。 TGA结构比较简单,属于一种图形、图像数据通用格式,在多媒体领域...
  • TGA与YUV文件的转换

    2020-04-13 23:15:50
    一、TGA文件介绍 1.简介 TGA(Targa)格式是计算机上应用最广泛...TGA结构比较简单,属于一种图形、图像数据通用格式,在多媒体领域有很大影响,是计算机生成图像向电视转换一种首选格式。TGA图像格式最大特...
  • SVG 图像入门教程

    2018-11-26 16:18:33
    其他图像格式都是基于像素处理,SVG 则是属于图像的形状描述,所以它本质上是文本文件,体积较小,且不管放大多少倍都不会失真。 SVG 文件可以直接插入网页,成为 DOM 一部分,然后用 JavaScript 和 CSS ...
  • SVG图像入门教程

    千次阅读 2018-08-09 15:33:17
    一、概述 ...其他图像格式都是基于像素处理,SVG则是属于图像的形状描述,所以它本质上是文本文件,体积较小,且不管放大多少倍都不会失真。 SVG文件可以直接插入网页,成为DOM一部分,...
  • TGA文件

    2019-10-06 13:00:04
    TGA(Tagged Graphics)文件 TGA是由美国Truevision公司为其显示卡开发一种图像文件格式,已被国际上图形、图像工业所接受。现在已成为数字化图像,以及运用光线跟踪算法所产生高质量图像常用格式。TGA文件...
  • 工作原理 GIF(Graphics Interchange Format)原义是“图像互换格式”,是CompuServe公司在 1987年开发的图像文件格式。GIF文件数据,是一种基于LZW算法连续色调无损压缩格式。其压缩率一般在50%左右,它不...
  • TGA(Tagged Graphics)文件是由美国Truevision公司为其显示卡开发一种图像文件格式,已被国际上图形、图像工业所接受。现在已成为数字化图像,以及运用光线跟踪算法所产生高质量图像常用格式。TGA文件扩展...
  • 其他图像格式都是基于像素处理,SVG 则是属于图像的形状描述,所以它本质上是文本文件,体积较小,且不管放大多少倍都不会失真。 SVG 文件可以直接插入网页,成为 DOM 一部分,然后用 JavaScript 和 CSS 进行...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 271
精华内容 108
关键字:

属于图像文件格式的是