@Override public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel dstCM) { if (dstCM == null) dstCM = src.getColorModel(); return new BufferedImage(dstCM, dstCM.createCompatibleWritableRaster(src.getWidth(), src.getHeight()), dstCM.isAlphaPremultiplied(), null); }
@Override public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel dstCM) { if (dstCM == null) { dstCM = src.getColorModel(); } return new BufferedImage(dstCM, dstCM.createCompatibleWritableRaster(src.getWidth(), src.getHeight()), dstCM.isAlphaPremultiplied(), null); }
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM) { if (destCM == null) { destCM = src.getColorModel(); if (destCM instanceof IndexColorModel) { destCM = ColorModel.getRGBdefault(); } } return new BufferedImage(destCM, destCM.createCompatibleWritableRaster(src.getWidth(), src.getHeight()), destCM.isAlphaPremultiplied(), null); }
public static BufferedImage convertImage(Image original) { ColorModel cm = ColorModel.getRGBdefault(); int width = original.getWidth(null); int height = original.getHeight(null); BufferedImage image = new BufferedImage (cm,cm.createCompatibleWritableRaster(width, height),cm.isAlphaPremultiplied(), null); Graphics2D bg = image.createGraphics(); bg.drawImage(original, 0, 0, width, height, null); bg.dispose(); return image; } }
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM, int width, int height) { BufferedImage image; if (destCM == null) { destCM = src.getColorModel(); // Not much support for ICM if (destCM instanceof IndexColorModel) { destCM = ColorModel.getRGBdefault(); } } image = new BufferedImage (destCM, destCM.createCompatibleWritableRaster(width, height), destCM.isAlphaPremultiplied(), null); return image; }
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM) { BufferedImage image; if (destCM == null) { destCM = src.getColorModel(); // Not much support for ICM if (destCM instanceof IndexColorModel) { destCM = ColorModel.getRGBdefault(); } } int w = src.getWidth(); int h = src.getHeight(); image = new BufferedImage (destCM, destCM.createCompatibleWritableRaster(w, h), destCM.isAlphaPremultiplied(), null); return image; }
/** Creates BufferedImage with Transparency.TRANSLUCENT */ static final java.awt.image.BufferedImage createBufferedImage(int width, int height) { if (Utilities.isMac()) { return new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB_PRE); } ColorModel model = colorModel(java.awt.Transparency.TRANSLUCENT); java.awt.image.BufferedImage buffImage = new java.awt.image.BufferedImage( model, model.createCompatibleWritableRaster(width, height), model.isAlphaPremultiplied(), null ); return buffImage; }
@Override public BufferedImage filter(BufferedImage src, BufferedImage dst) { int width = src.getWidth(); int height = src.getHeight(); int type = src.getType(); WritableRaster srcRaster = src.getRaster(); originalSpace = new Rectangle(0, 0, width, height); transformedSpace = new Rectangle(0, 0, width, height); transformSpace(transformedSpace); if (dst == null) { ColorModel dstCM = src.getColorModel(); dst = new BufferedImage(dstCM, dstCM.createCompatibleWritableRaster(transformedSpace.width, transformedSpace.height), dstCM.isAlphaPremultiplied(), null); } WritableRaster dstRaster = dst.getRaster(); int[] inPixels = getRGB(src, 0, 0, width, height, null); inPixels = filterPixels(width, height, inPixels, transformedSpace); setRGB(dst, 0, 0, transformedSpace.width, transformedSpace.height, inPixels); return dst; }
public static ToolTipImage createNew(String toolTipText, Image image, URL url) { ImageUtilities.ensureLoaded(image); boolean bitmask = (image instanceof Transparency) && ((Transparency) image).getTransparency() != Transparency.TRANSLUCENT; ColorModel model = colorModel(bitmask ? Transparency.BITMASK : Transparency.TRANSLUCENT); int w = image.getWidth(null); int h = image.getHeight(null); ToolTipImage newImage = new ToolTipImage( toolTipText, model, model.createCompatibleWritableRaster(w, h), model.isAlphaPremultiplied(), null, url ); java.awt.Graphics g = newImage.createGraphics(); g.drawImage(image, 0, 0, null); g.dispose(); return newImage; }
private static final Image doMergeImages(Image image1, Image image2, int x, int y) { ensureLoaded(image1); ensureLoaded(image2); int w = Math.max(image1.getWidth(null), x + image2.getWidth(null)); int h = Math.max(image1.getHeight(null), y + image2.getHeight(null)); boolean bitmask = (image1 instanceof Transparency) && ((Transparency)image1).getTransparency() != Transparency.TRANSLUCENT && (image2 instanceof Transparency) && ((Transparency)image2).getTransparency() != Transparency.TRANSLUCENT; StringBuilder str = new StringBuilder(image1 instanceof ToolTipImage ? ((ToolTipImage)image1).toolTipText : ""); if (image2 instanceof ToolTipImage) { String toolTip = ((ToolTipImage)image2).toolTipText; if (str.length() > 0 && toolTip.length() > 0) { str.append(TOOLTIP_SEPAR); } str.append(toolTip); } ColorModel model = colorModel(bitmask? Transparency.BITMASK: Transparency.TRANSLUCENT); ToolTipImage buffImage = new ToolTipImage(str.toString(), model, model.createCompatibleWritableRaster(w, h), model.isAlphaPremultiplied(), null, null ); java.awt.Graphics g = buffImage.createGraphics(); g.drawImage(image1, 0, 0, null); g.drawImage(image2, x, y, null); g.dispose(); return buffImage; }
dst = new BufferedImage(dstCM, dstCM.createCompatibleWritableRaster(newW, newH), dstCM.isAlphaPremultiplied(), null);
void createRaster() { ColorModel cm = getColorModel(); raster = cm.createCompatibleWritableRaster((int)deviceBounds.getWidth(), (int)deviceBounds.getHeight()); BufferedImage img = new BufferedImage(cm, raster, false, null); Graphics2D graphics = img.createGraphics(); graphics.setRenderingHints(hints); graphics.translate(-deviceBounds.getX(), -deviceBounds.getY()); graphics.transform(xform); Raster img2 = pCtx.getRaster(0, 0, gradientSteps, 1); int[] rgb = new int[cm.getNumComponents()]; for (int i = gradientSteps-1; i>=0; i--) { img2.getPixel(i, 0, rgb); Color c = new Color(rgb[0],rgb[1],rgb[2]); if (rgb.length == 4) { // it doesn't work to use just a color with transparency ... graphics.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC, rgb[3]/255.0f)); } graphics.setStroke(new BasicStroke(i+1, capStyle, joinStyle)); graphics.setColor(c); graphics.draw(shape); } graphics.dispose(); } }
public Raster getRaster(int xOffset, int yOffset, int w, int h) { ColorModel cm = getColorModel(); if (raster == null) createRaster(); // TODO: eventually use caching here WritableRaster childRaster = cm.createCompatibleWritableRaster(w, h); Rectangle2D childRect = new Rectangle2D.Double(xOffset, yOffset, w, h); if (!childRect.intersects(deviceBounds)) { // usually doesn't happen ... return childRaster; } Rectangle2D destRect = new Rectangle2D.Double(); Rectangle2D.intersect(childRect, deviceBounds, destRect); int dx = (int)(destRect.getX()-deviceBounds.getX()); int dy = (int)(destRect.getY()-deviceBounds.getY()); int dw = (int)destRect.getWidth(); int dh = (int)destRect.getHeight(); Object data = raster.getDataElements(dx, dy, dw, dh, null); dx = (int)(destRect.getX()-childRect.getX()); dy = (int)(destRect.getY()-childRect.getY()); childRaster.setDataElements(dx, dy, dw, dh, data); return childRaster; }
if (fullalpha){ ColorModel model = AWTLoader.AWT_RGBA4444; WritableRaster raster = model.createCompatibleWritableRaster(width, width); out = new BufferedImage(model, raster, false, null); }else{
/** * Creates compatible image for @param src image. */ public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel dest) { if (dest == null) { dest = src.getColorModel(); } return new BufferedImage(dest, dest.createCompatibleWritableRaster(src.getWidth(), src.getHeight()), dest.isAlphaPremultiplied(), null); }
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel dstCM) { if ( dstCM == null ) dstCM = src.getColorModel(); return new BufferedImage(dstCM, dstCM.createCompatibleWritableRaster(src.getWidth(), src.getHeight()), dstCM.isAlphaPremultiplied(), null); }
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel dstCM) { if ( dstCM == null ) dstCM = src.getColorModel(); return new BufferedImage(dstCM, dstCM.createCompatibleWritableRaster(src.getWidth(), src.getHeight()), dstCM.isAlphaPremultiplied(), null); }
@Override public final BufferedImage createBufferedImage(final int pWidth, final int pHeight) { try { // This is a fix for the super-method, that first creates a sample model, and then // creates a raster from it, using Raster.createWritableRaster. The problem with // that approach, is that it always creates a TYPE_CUSTOM BufferedImage for indexed images. WritableRaster raster = colorModel.createCompatibleWritableRaster(pWidth, pHeight); return new BufferedImage(colorModel, raster, colorModel.isAlphaPremultiplied(), new Hashtable()); } catch (NegativeArraySizeException e) { // Exception most likely thrown from a DataBuffer constructor throw new IllegalArgumentException("Array size > Integer.MAX_VALUE!"); } } };
/** Creates BufferedImage with Transparency.TRANSLUCENT */ static final java.awt.image.BufferedImage createBufferedImage(int width, int height) { if (Utilities.isMac()) { return new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB_PRE); } ColorModel model = colorModel(java.awt.Transparency.TRANSLUCENT); java.awt.image.BufferedImage buffImage = new java.awt.image.BufferedImage( model, model.createCompatibleWritableRaster(width, height), model.isAlphaPremultiplied(), null ); return buffImage; }
@Test public void testCreateCompatibleRaster() { int[] colors = createIntLut(1 << 8); IndexColorModel icm = new IndexColorModel(8, colors.length, colors, 0, false, -1, DataBuffer.TYPE_BYTE); ColorModel colorModel = new DiscreteAlphaIndexColorModel(icm); WritableRaster raster = colorModel.createCompatibleWritableRaster(3, 2); assertNotNull(raster); assertEquals(3, raster.getWidth()); assertEquals(2, raster.getHeight()); assertTrue(colorModel.isCompatibleRaster(raster)); assertThat(raster, CoreMatchers.is(WritableRaster.class)); // Specific subclasses are in sun.awt package assertThat(raster.getTransferType(), CoreMatchers.equalTo(DataBuffer.TYPE_BYTE)); }