All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sk.seges.acris.server.image.loader.RGBTiffImageLoader Maven / Gradle / Ivy

The newest version!
package sk.seges.acris.server.image.loader;

import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.RenderedImage;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;
import java.util.Hashtable;

import com.sun.media.jai.codec.ImageDecoder;

public class RGBTiffImageLoader extends TiffImageLoader {

	public RGBTiffImageLoader(File file) {
		super(file);
	}

	public RGBTiffImageLoader(ImageDecoder dec) {
		super(dec);
	}

	protected BufferedImage getBufferedImage(ImageDecoder dec) {
		RenderedImage img;
		try {
			img = dec.decodeAsRenderedImage();
		} catch (IOException e) {
			return null;
		}
		ColorModel cm = img.getColorModel();
	    int width = img.getWidth();
	    int height = img.getHeight();
	    WritableRaster raster = cm.createCompatibleWritableRaster(width, height);
	    boolean isAlphaPremultiplied = cm.isAlphaPremultiplied();
	    Hashtable properties = new Hashtable();
	    String[] keys = img.getPropertyNames();
	    if (keys != null) {
	        for (int i = 0; i < keys.length; i++) {
	            properties.put(keys[i], img.getProperty(keys[i]));
	        }
	    }
	    BufferedImage result = new BufferedImage(cm, raster, isAlphaPremultiplied, properties);
	    img.copyData(raster);
	    return result;
	}

	@Override
	protected RawColor processPixel(RawColor pixel) {
		return null;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy