魔兽争霸吧 关注:1,010,681贴子:19,628,618
  • 10回复贴,共1

急啊!!魔兽截下来的图在哪裏啊!(我不是火星人)

只看楼主收藏回复

谁知道啊


1楼2007-03-03 18:22回复
    都不知道


    2楼2007-03-03 18:30
    回复
      2025-08-18 18:17:10
      广告
      不感兴趣
      开通SVIP免广告
      目录中的Screenshots里边.


      3楼2007-03-03 18:30
      回复
        。。


        4楼2007-03-03 18:30
        回复
          TGA格式 

          TGA格式(Tagged Graphics)是由美国Truevision公司为其显示卡开发的一种图像文件格式,文件后缀为“.tga”,已被国际上的图形、图像工业所接受。TGA的结构比较简单,属于一种图形、图像数据的通用格式,在多媒体领域有很大影响,是计算机生成图像向电视转换的一种首选格式。 

          TGA图像格式最大的特点是可以做出不规则形状的图形、图像文件,一般图形、图像文件都为四方形,若需要有圆形、菱形甚至是缕空的图像文件时,TGA可就派上用场了! TGA格式支持压缩,使用不失真的压缩算法。 


          ACDSee就可以


          5楼2007-03-03 18:34
          回复
            读取TGA的代码
            typedef unsigned char uchar_t
            typedef unsigned short ushort_t

            struct bgra_s {
            union {
            struct { uchar_t _b, _g, _r, _a; };
            ulong_t _argb;
            uchar_t _v[4];
            };
            // operators
            bgra_s & operator= (const bgra_s & src)
            { _argb = src._argb; return *this; }
            };
            typedef bgra_s * bgra_p;


            struct TGA_HEADER { // TGA file header
            uchar_t id_length;
            uchar_t colormap_type;
            uchar_t image_type;
            ushort_t colormap_index, colormap_length;
            uchar_t colormap_size;
            ushort_t x_origin, y_origin, width, height;
            uchar_t pixel_size, attributes;
            } ;

            // tga : TGA格式的图象数据
            // width : 返回图象的宽度
            // height : 返回图象的高度
            // 函数返回值 : 返回解压后的RGBA数据,返回0表示出错
            bgra_s * TGA_decode(uchar_t *tga, long *width, long *height)
            {
            long columns, rows, numPixels;
            long row, column;
            bgra_s *rgba, *dest;
            TGA_HEADER *header;
            uchar_t red,green,blue,alpha,packetHeader,packetSize,j;

            header = (TGA_HEADER *)tga;
            tga+=sizeof(TGA_HEADER);


            // Only types 2 and 10 are supported
            if (header->image_type!=2 && header->image_type!=10) {
            printf("TGA_decode() failed: unsupported tga compression type.\n");
            return 0;
            }

            // Only 24bit or 32bit pixels are supported
            if (header->colormap_type!=0||
            (header->pixel_size!=32&&header->pixel_size!=24)) {
            printf("TGA_decode() failed: only 24bit and 32bits image are supported\n");
            return 0;
            }

            columns = header->width;
            rows = header->height;
            numPixels = columns * rows;

            if (width) *width = columns;
            if (height) *height = rows;

            // Allocate memory for decoded image
            rgba = (bgra_s*)malloc(numPixels * sizeof(bgra_s));
            if (!rgba) {
            printf("TGA_decode() failed: can not allocate memory of decoded image\n");
            return 0;
            }

            // Skip comment
            if (header->id_length!=0)
            tga+=header->id_length;

            // Uncompressed RGB image
            __try
            {
            if (header->image_type==2) {
            dest = rgba;
            //for(row=rows-1; row>=0; row--) {
            for(row=0; row < rows; ++row) {
            // dest = rgba + row*columns*4;
            for(column=0; column<columns; ++column) {
            if (header->pixel_size==24) {
            dest->_b = *tga; ++tga;
            dest->_g = *tga; ++tga;
            dest->_r = *tga; ++tga;
            dest->_a = 255;
            }
            else if (header->pixel_size==32) {
            dest->_b = *tga; ++tga;
            dest->_g = *tga; ++tga;
            dest->_r = *tga; ++tga;
            dest->_a = *tga; ++tga;
            }
            ++dest;
            }
            }
            }
            // RLE RGB image
            else if (header->image_type==10) {
            for(row=rows-1; row>=0; row--) {
            dest = bgra_p((uchar_t*)rgba + row*columns*4);
            for(column=0; column<columns; ) {
            packetHeader=*tga; tga++;
            packetSize = 1 + (packetHeader & 0x7f);
            // RLE packet
            if (packetHeader & 0x80) {
            if (header->pixel_size==24) {
            blue = *tga; tga++;
            green = *tga; tga++;
            red = *tga; tga++;
            alpha = 255;
            }
            else if (header->pixel_size==32) {
            blue = *tga; tga++;
            green = *tga; tga++;
            red = *tga; tga++;
            alpha = *tga; tga++;
            }

            for(j=0;j<packetSize;j++) {
            dest->_r = red;
            dest->_g = green;
            dest->_b = blue;
            dest->_a = alpha;
            ++dest;
            ++column;
            if (column==columns) {
            column=0;
            if (row>0)
            row--;
            else
            goto end_decode;
            dest = bgra_p((uchar_t*)rgba + row*columns*4);
            }
            }
            }
            // Non-RLE packet
            else {
            for(j=0;j<packetSize;j++) {
            if (header->pixel_size==24) {
            dest->_b = *tga; ++tga;
            dest->_g = *tga; ++tga;
            dest->_r = *tga; ++tga;
            dest->_a = 255;
            }
            else if (header->pixel_size==32) {
            dest->_b = *tga; ++tga;
            dest->_g = *tga; ++tga;
            dest->_r = *tga; ++tga;
            dest->_a = *tga; ++tga;
            }
            ++dest;
            column++;
            if (column==columns) {
            column=0;
            if (row>0)
            row--;
            else
            goto end_decode;
            dest = bgra_p((uchar_t*)rgba + row*columns*4);

            }
            }
            }
            end_decode:;
            }

            } // end of __try block

            // except handler
            __except(1)
            {
            printf("TGA_decode() failed: system exception!\n");
            free(rgba);
            return 0;
            }

            // normal exit
            return(rgba);
            }


            6楼2007-03-03 18:34
            回复
              什么乱七八糟的,怎么看图像啊


              7楼2007-03-03 20:27
              回复
                知道请囬


                8楼2007-03-03 20:27
                回复
                  2025-08-18 18:11:10
                  广告
                  不感兴趣
                  开通SVIP免广告
                  知道请囬答知道请囬答


                  9楼2007-03-03 20:27
                  回复
                    再不囬答就沉拉!
                    我顶。


                    10楼2007-03-03 20:29
                    回复
                      6楼!I 服了 YOU。看不懂


                      11楼2007-03-03 20:44
                      回复