1 package org.apache.commons.imaging.formats.tga; 2 3 ///* 4 // * Licensed to the Apache Software Foundation (ASF) under one or more 5 // * contributor license agreements. See the NOTICE file distributed with 6 // * this work for additional information regarding copyright ownership. 7 // * The ASF licenses this file to You under the Apache License, Version 2.0 8 // * (the "License"); you may not use this file except in compliance with 9 // * the License. You may obtain a copy of the License at 10 // * 11 // * http://www.apache.org/licenses/LICENSE-2.0 12 // * 13 // * Unless required by applicable law or agreed to in writing, software 14 // * distributed under the License is distributed on an "AS IS" BASIS, 15 // * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 // * See the License for the specific language governing permissions and 17 // * limitations under the License. 18 // */ 19 //package org.apache.commons.imaging.formats.tga; 20 // 21 //import java.awt.Dimension; 22 //import java.awt.image.BufferedImage; 23 //import java.io.File; 24 //import java.io.IOException; 25 //import java.io.InputStream; 26 //import java.io.PrintWriter; 27 //import java.util.Map; 28 //import java.util.ArrayList; 29 // 30 //import org.apache.commons.imaging.ImageFormat; 31 //import org.apache.commons.imaging.ImageInfo; 32 //import org.apache.commons.imaging.ImageParser; 33 //import org.apache.commons.imaging.ImageReadException; 34 //import org.apache.commons.imaging.common.IImageMetadata; 35 //import org.apache.commons.imaging.common.bytesource.ByteSource; 36 //import org.apache.commons.imaging.util.Debug; 37 // 38 ///* 39 // * This class is just a placeholder. TGA format is not yet supported. 40 // */ 41 //public class TgaImageParser extends ImageParser implements TgaConstants 42 //{ 43 // public TgaImageParser() 44 // { 45 // this.setByteOrder(BYTE_ORDER_INTEL); 46 // setDebug(true); 47 // } 48 // 49 // public String getName() 50 // { 51 // return "Tga"; 52 // } 53 // 54 // public String getDefaultExtension() 55 // { 56 // return DEFAULT_EXTENSION; 57 // } 58 // 59 // private static final String DEFAULT_EXTENSION = ".tga"; 60 // 61 // private static final String[] ACCEPTED_EXTENSIONS = { 62 // ".tga", ".tpic", 63 // }; 64 // 65 // protected String[] getAcceptedExtensions() 66 // { 67 // return ACCEPTED_EXTENSIONS; 68 // } 69 // 70 // protected ImageFormat[] getAcceptedTypes() 71 // { 72 // return new ImageFormat[]{ 73 // ImageFormat.IMAGE_FORMAT_TGA, // 74 // }; 75 // } 76 // 77 // public IImageMetadata getMetadata(ByteSource byteSource, Map params) 78 // throws ImageReadException, IOException 79 // { 80 // return null; 81 // } 82 // 83 // public byte[] getICCProfileBytes(ByteSource byteSource) 84 // throws ImageReadException, IOException 85 // { 86 // return null; 87 // } 88 // 89 // private static final int TGA_FILE_HEADER_LENGTH = 18; 90 // 91 // public Dimension getImageSize(ByteSource byteSource) 92 // throws ImageReadException, IOException 93 // { 94 //// int length = (int) byteSource.getLength(); 95 //// if (length < TGA_FILE_HEADER_LENGTH) 96 //// return null; 97 // 98 // InputStream is = byteSource.getInputStream(); 99 // 100 // is.skip(12); 101 // 102 // int width = this.read2Bytes("image width", is, "image width"); 103 // int height = this.read2Bytes("image height", is, "image height"); 104 // 105 // return new Dimension(width, height); 106 // } 107 // 108 // private static final int TGA_FILE_FOOTER_LENGTH = 26; 109 // private static final String TGA_FILE_FOOTER_SIGNATURE = "TRUEVISION-XFILE"; 110 // 111 // private final boolean isNewTGAFormat(ByteSource byteSource) 112 // throws ImageReadException, IOException 113 // { 114 // int length = (int) byteSource.getLength(); 115 // if (length < TGA_FILE_FOOTER_LENGTH) 116 // return true; 117 // 118 // InputStream is = byteSource.getInputStream(length 119 // - TGA_FILE_FOOTER_LENGTH); 120 // 121 // byte bytes[] = this.readByteArray("tga_file_footer", 122 // TGA_FILE_FOOTER_LENGTH, is, "tga_file_footer"); 123 // 124 // Debug.debug("bytes", bytes); 125 // 126 // Debug.debug("kTGA_FILE_FOOTER_SIGNATURE", TGA_FILE_FOOTER_SIGNATURE); 127 // Debug.debug("kTGA_FILE_FOOTER_SIGNATURE", TGA_FILE_FOOTER_SIGNATURE 128 // .length()); 129 // 130 // return this.compareByteArrays(bytes, 8, TGA_FILE_FOOTER_SIGNATURE 131 // .getBytes(), 0, TGA_FILE_FOOTER_SIGNATURE.length()); 132 // } 133 // 134 // private static final int TGA_IMAGE_TYPE_NO_IMAGE = 0; 135 // private static final int UNCOMPRESSED_COLOR_MAPPED = 1; 136 // private static final int UNCOMPRESSED_RGB = 2; 137 // private static final int UNCOMPRESSED_BLACK_AND_WHITE = 3; 138 // private static final int COMPRESSED_COLOR_MAPPED_RLE = 9; 139 // private static final int COMPRESSED_RGB_RLE = 10; 140 // private static final int COMPRESSED_BLACK_AND_WHITE = 11; 141 // private static final int COMPRESSED_COLOR_MAPPED_DATA_HUFFMAN_DELTA_RLE = 32; 142 // private static final int COMPRESSED_COLOR_MAPPED_DATA_RLE = 33; 143 // 144 // public ImageInfo getImageInfo(ByteSource byteSource) 145 // throws ImageReadException, IOException 146 // { 147 //// int length = (int) byteSource.getLength(); 148 //// if (length < TGA_FILE_HEADER_LENGTH) 149 //// return null; 150 // 151 // InputStream is = byteSource.getInputStream(); 152 // 153 // int id_string_length = this.readByte("id_string_length", is, 154 // "id_string_length"); 155 // int color_map_type = this.readByte("color_map_type", is, 156 // "color_map_type"); 157 // int image_type = this.readByte("image_type", is, "image_type"); 158 // 159 // int color_map_first_entry_index = this.read2Bytes( 160 // "color_map_first_entry_index", is, 161 // "color_map_first_entry_index"); 162 // int color_map_length = this.read2Bytes("color_map_length", is, 163 // "color_map_length"); 164 // int color_map_entry_size = this.readByte("color_map_entry_size", is, 165 // "color_map_entry_size"); 166 // 167 // int origin_x = this.read2Bytes("origin_x", is, "origin_x"); 168 // int origin_y = this.read2Bytes("origin_y", is, "origin_y"); 169 // 170 // int width = this.read2Bytes("image width", is, "image width"); 171 // int height = this.read2Bytes("image height", is, "image height"); 172 // 173 // int pixel_depth = this.readByte("pixel_depth", is, "pixel_depth"); 174 // int image_descriptor = this.readByte("image_descriptor", is, 175 // "image_descriptor"); 176 // // charles 177 // 178 // switch (image_type) 179 // { 180 // case UNCOMPRESSED_COLOR_MAPPED : 181 // break; 182 // case UNCOMPRESSED_RGB : 183 // break; 184 // case UNCOMPRESSED_BLACK_AND_WHITE : 185 // break; 186 // case COMPRESSED_COLOR_MAPPED_RLE : 187 // break; 188 // case COMPRESSED_RGB_RLE : 189 // break; 190 // case COMPRESSED_BLACK_AND_WHITE : 191 // break; 192 // case COMPRESSED_COLOR_MAPPED_DATA_HUFFMAN_DELTA_RLE : 193 // break; 194 // case COMPRESSED_COLOR_MAPPED_DATA_RLE : 195 // break; 196 // 197 // default : 198 // 199 // } 200 // String FormatDetails; 201 // int BitsPerPixel; 202 // List Comments; 203 // ImageFormat Format = ImageFormat.IMAGE_FORMAT_TGA; 204 // String FormatName = Format.name; 205 // String MimeType = "image/tga"; 206 // int NumberOfImages = 1; // charles could have thumbnail(s). 207 // int PhysicalHeightDpi; 208 // float PhysicalHeightInch; 209 // int PhysicalWidthDpi; 210 // float PhysicalWidthInch; 211 // boolean progressive = false; 212 // boolean transparent = pixel_depth > 24; 213 // boolean usesPalette; 214 // int ColorType; 215 // 216 // return null; 217 // // return new ImageInfo(FormatDetails, BitsPerPixel, Comments, Format, 218 // // FormatName, height, MimeType, NumberOfImages, 219 // // PhysicalHeightDpi, PhysicalHeightInch, PhysicalWidthDpi, 220 // // PhysicalWidthInch, width, progressive, transparent, 221 // // usesPalette, ColorType); 222 // 223 // // boolean is_new_tga_format = isNewTGAFormat(byteSource); 224 // // 225 // // Debug.debug("is_new_tga_format", is_new_tga_format); 226 // } 227 // 228 // public boolean dumpImageFile(PrintWriter pw, ByteSource byteSource) 229 // throws ImageReadException, IOException 230 // { 231 // return false; 232 // } 233 // 234 // public BufferedImage getBufferedImage(ByteSource byteSource, Map params) 235 // throws ImageReadException, IOException 236 // { 237 // return null; 238 // } 239 // 240 // // public void writeImage(BufferedImage src, OutputStream os, Map params) 241 // // throws ImageWriteException, IOException 242 // // { 243 // // return false; 244 // // } 245 // 246 // }