Search in sources :

Example 16 with SinglePixelPackedSampleModel

use of java.awt.image.SinglePixelPackedSampleModel in project vcell by virtualcell.

the class RasterExporter method createTextureImage.

private static BufferedImage createTextureImage(int imageSideLength) {
    int[] texImage = new int[imageSideLength * imageSideLength];
    int[] bitMasks = new int[] { 0xFF0000, 0xFF00, 0xFF, 0xFF000000 };
    SinglePixelPackedSampleModel sm = new SinglePixelPackedSampleModel(DataBuffer.TYPE_INT, imageSideLength, imageSideLength, bitMasks);
    DataBufferInt db = new DataBufferInt(texImage, texImage.length);
    WritableRaster wr = Raster.createWritableRaster(sm, db, new Point());
    BufferedImage image = new BufferedImage(ColorModel.getRGBdefault(), wr, false, null);
    return image;
}
Also used : WritableRaster(java.awt.image.WritableRaster) SinglePixelPackedSampleModel(java.awt.image.SinglePixelPackedSampleModel) DataBufferInt(java.awt.image.DataBufferInt) Point(java.awt.Point) BufferedImage(java.awt.image.BufferedImage)

Example 17 with SinglePixelPackedSampleModel

use of java.awt.image.SinglePixelPackedSampleModel in project Lucee by lucee.

the class Image method jpgImage.

private static BufferedImage jpgImage(BufferedImage src) {
    int w = src.getWidth();
    int h = src.getHeight();
    SampleModel srcSM = src.getSampleModel();
    WritableRaster srcWR = src.getRaster();
    java.awt.image.DataBuffer srcDB = srcWR.getDataBuffer();
    ColorModel rgb = new DirectColorModel(32, 0xff0000, 65280, 255);
    int[] bitMasks = new int[] { 0xff0000, 65280, 255 };
    SampleModel csm = new SinglePixelPackedSampleModel(3, w, h, bitMasks);
    int[] data = new int[w * h];
    for (int i = 0; i < h; i++) {
        for (int j = 0; j < w; j++) {
            int[] pix = null;
            int[] sample = srcSM.getPixel(j, i, pix, srcDB);
            if (sample[3] == 0 && sample[2] == 0 && sample[1] == 0 && sample[0] == 0)
                data[i * w + j] = 0xffffff;
            else
                data[i * w + j] = sample[0] << 16 | sample[1] << 8 | sample[2];
        }
    }
    java.awt.image.DataBuffer db = new DataBufferInt(data, w * h * 3);
    WritableRaster wr = Raster.createWritableRaster(csm, db, new Point(0, 0));
    return new BufferedImage(rgb, wr, false, null);
}
Also used : SinglePixelPackedSampleModel(java.awt.image.SinglePixelPackedSampleModel) DataBufferInt(java.awt.image.DataBufferInt) Point(java.awt.Point) Point(java.awt.Point) BufferedImage(java.awt.image.BufferedImage) SampleModel(java.awt.image.SampleModel) SinglePixelPackedSampleModel(java.awt.image.SinglePixelPackedSampleModel) WritableRaster(java.awt.image.WritableRaster) IndexColorModel(java.awt.image.IndexColorModel) DirectColorModel(java.awt.image.DirectColorModel) ComponentColorModel(java.awt.image.ComponentColorModel) PackedColorModel(java.awt.image.PackedColorModel) ColorModel(java.awt.image.ColorModel) DirectColorModel(java.awt.image.DirectColorModel)

Aggregations

SinglePixelPackedSampleModel (java.awt.image.SinglePixelPackedSampleModel)17 Point (java.awt.Point)9 SampleModel (java.awt.image.SampleModel)8 DirectColorModel (java.awt.image.DirectColorModel)7 MultiPixelPackedSampleModel (java.awt.image.MultiPixelPackedSampleModel)7 DataBufferInt (java.awt.image.DataBufferInt)6 IndexColorModel (java.awt.image.IndexColorModel)6 ColorModel (java.awt.image.ColorModel)5 ComponentSampleModel (java.awt.image.ComponentSampleModel)5 DataBuffer (java.awt.image.DataBuffer)5 WritableRaster (java.awt.image.WritableRaster)4 ComponentColorModel (java.awt.image.ComponentColorModel)3 Rectangle (java.awt.Rectangle)2 ColorSpace (java.awt.color.ColorSpace)2 BandedSampleModel (java.awt.image.BandedSampleModel)2 BufferedImage (java.awt.image.BufferedImage)2 PixelInterleavedSampleModel (java.awt.image.PixelInterleavedSampleModel)2 Raster (java.awt.image.Raster)2 Paint (java.awt.Paint)1 ICC_ColorSpace (java.awt.color.ICC_ColorSpace)1