• 大小: 110KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-18
  • 语言: C/C++
  • 标签: RayTracing  

资源简介

TGA格式(Tagged Graphics)是由美国Truevision公司为其显示卡开发的一种图像文件格式,文件后缀为".tga",已被国际上的图形、图像工业所接受。 TGA的结构比较简单,属于一种图形、图像数据的通用格式,在多媒体领域有很大影响,是计算机生成图像向电视转换的一种首选格式。  TGA图像格式最大的特点是可以做出不规则形状的图形、图像文件,一般图形、图像文件都为四方形,若需要有圆形、菱形甚至是缕空的图像文件时,TGA可就派上用场了! TGA格式支持压缩,使用不失真的压缩算法。  TGA格式是Truevision公司设计并负责解释的图像格式。TGA也包含了多种变体,TGA文件的第三个字节用来区别不是TGA的文件。

资源截图

代码片段和文件信息

#include
#include
using namespace std;

#define WIDTH_RES 640
#define HEIGHT_RES 480

unsigned char *PB = new unsigned char[WIDTH_RES*HEIGHT_RES*3];

void WriteTGA();//生成文件
int main()
{
int Index = 0; 
float r = 0 g = 0 b = 0;
for (int y = 0; y < HEIGHT_RES; y++)
{
if (y == 0) cout << “  0% has completed...“ << endl;
if (y == (int)(HEIGHT_RES * 0.4)) cout << “ 25% has completed...“ << endl;
if (y == (int)(HEIGHT_RES * 0.5)) cout << “ 50% has completed...“ << endl;
if (y == (int)(HEIGHT_RES * 0.75)) cout << “ 75% has completed...“ << endl;
if (y == (int)(HEIGHT_RES - 1)) cout << “100% has completed...“ << endl;

r = y*256 / HEIGHT_RES;
for (int x = 0; x < WIDTH_RES; x++ Index += 3)
{
g = x * 256 / WIDTH_RES;
PB[Index + 0] = (int)b;
PB[Index + 1] = (int)g;
PB[Index + 2] = (int)r;//以BGR形式存储
}
}

WriteTGA();//生成文件

if (PB) delete[] PB;
return 0;
}

void WriteTGA()//生成文件
{
FILE *pFile = 0;
unsigned char tgaHeader[12] = { 0 0 2 0 0 0 0 0 0 0 0 0 };//文件头
unsigned char header[6];//前六位
unsigned char bits = 24;//24位
int colorMode = 3;//RGB

header[0] = WIDTH_RES % 256; header[1] = WIDTH_RES / 256; header[2] = HEIGHT_RES % 256;
header[3] = HEIGHT_RES / 256; header[4] = bits; header[5] = 0;

pFile = fopen(“picture.tga“ “wb“);//以写的方式打开文件
fwrite(tgaHeader sizeof(tgaHeader) 1 pFile);//写入文件头
fwrite(header sizeof(header) 1 pFile);//写入信息

fwrite(PB WIDTH_RES*HEIGHT_RES*colorMode 1 pFile);//写入图像数据

fclose(pFile);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-08-10 13:36  tga\
     目录           0  2018-08-10 13:36  tga\tga\
     文件         876  2018-08-10 12:31  tga\tga.sln
     文件        9728  2018-08-10 12:31  tga\tga.suo
     文件       18944  2018-08-10 13:36  tga\tga.v12.suo
     文件      921618  2018-08-10 13:34  tga\tga\picture.tga
     文件        3216  2018-08-10 12:31  tga\tga\tga.vcxproj
     文件         941  2018-08-10 12:31  tga\tga\tga.vcxproj.filters
     文件         143  2018-08-10 12:31  tga\tga\tga.vcxproj.user
     文件        1616  2018-08-10 13:34  tga\tga\源.cpp

评论

共有 条评论