byte[] dataBuf1 = (byte[]) extractImageData(img); if (flipY) flipImage(dataBuf1, width, height, 32); return new Image(Format.ABGR8, width, height, data1, null, com.jme3.texture.image.ColorSpace.sRGB); case BufferedImage.TYPE_3BYTE_BGR: // most common in JPEG images byte[] dataBuf2 = (byte[]) extractImageData(img); if (flipY) flipImage(dataBuf2, width, height, 24); return new Image(Format.BGR8, width, height, data2, null, com.jme3.texture.image.ColorSpace.sRGB); case BufferedImage.TYPE_BYTE_GRAY: // grayscale fonts byte[] dataBuf3 = (byte[]) extractImageData(img); if (flipY) flipImage(dataBuf3, width, height, 8); ByteBuffer data3 = BufferUtils.createByteBuffer(img.getWidth()*img.getHeight()); data3.put(dataBuf3);
public Image load(InputStream in, boolean flipY) throws IOException{ ImageIO.setUseCache(false); BufferedImage img = ImageIO.read(in); if (img == null){ return null; } return load(img, flipY); }
awtLoader = new AWTLoader(); imageCapture = new Thread() { @Override
public Object load(AssetInfo info) throws IOException { if (ImageIO.getImageReadersBySuffix(info.getKey().getExtension()) != null){ boolean flip = ((TextureKey) info.getKey()).isFlipY(); InputStream in = null; try { in = info.openStream(); Image img = load(in, flip); if (img == null){ throw new AssetLoadException("The given image cannot be loaded " + info.getKey()); } return img; } finally { if (in != null){ in.close(); } } }else{ throw new AssetLoadException("The extension " + info.getKey().getExtension() + " is not supported"); } } }
public Image load(InputStream in, boolean flipY) throws IOException{ ImageIO.setUseCache(false); BufferedImage img = ImageIO.read(in); if (img == null){ return null; } return load(img, flipY); }
byte[] dataBuf1 = (byte[]) extractImageData(img); if (flipY) flipImage(dataBuf1, width, height, 32); return new Image(Format.ABGR8, width, height, data1); case BufferedImage.TYPE_3BYTE_BGR: // most common in JPEG images byte[] dataBuf2 = (byte[]) extractImageData(img); if (flipY) flipImage(dataBuf2, width, height, 24); return new Image(Format.BGR8, width, height, data2); case BufferedImage.TYPE_BYTE_GRAY: // grayscale fonts byte[] dataBuf3 = (byte[]) extractImageData(img); if (flipY) flipImage(dataBuf3, width, height, 8); ByteBuffer data3 = BufferUtils.createByteBuffer(img.getWidth()*img.getHeight()); data3.put(dataBuf3); return new Image(Format.Luminance8, width, height, data3); case BufferedImage.TYPE_USHORT_GRAY: // grayscale heightmap short[] dataBuf4 = (short[]) extractImageData(img); if (flipY) flipImage(dataBuf4, width, height, 16);
public static void resizeToPowerOf2(Image image){ BufferedImage original = ImageToAwt.convert(image, false, true, 0); int potWidth = FastMath.nearestPowerOfTwo(image.getWidth()); int potHeight = FastMath.nearestPowerOfTwo(image.getHeight()); int potSize = Math.max(potWidth, potHeight); BufferedImage scaled = scaleDown(original, potSize, potSize); AWTLoader loader = new AWTLoader(); Image output = loader.load(scaled, false); image.setWidth(potSize); image.setHeight(potSize); image.setDepth(0); image.setData(output.getData(0)); image.setFormat(output.getFormat()); image.setMipMapSizes(null); }
public Image load(InputStream in, boolean flipY) throws IOException{ ImageIO.setUseCache(false); BufferedImage img = ImageIO.read(in); if (img == null) return null; return load(img, flipY); }
byte[] dataBuf1 = (byte[]) extractImageData(img); if (flipY) flipImage(dataBuf1, width, height, 32); return new Image(Format.ABGR8, width, height, data1, null, com.jme3.texture.image.ColorSpace.sRGB); case BufferedImage.TYPE_3BYTE_BGR: // most common in JPEG images byte[] dataBuf2 = (byte[]) extractImageData(img); if (flipY) flipImage(dataBuf2, width, height, 24); return new Image(Format.BGR8, width, height, data2, null, com.jme3.texture.image.ColorSpace.sRGB); case BufferedImage.TYPE_BYTE_GRAY: // grayscale fonts byte[] dataBuf3 = (byte[]) extractImageData(img); if (flipY) flipImage(dataBuf3, width, height, 8); ByteBuffer data3 = BufferUtils.createByteBuffer(img.getWidth()*img.getHeight()); data3.put(dataBuf3);
/** this method calls dispose on Graphics2D g*/ public static Texture2D createTexture(BufferedImage img, Graphics2D g) { if (g != null) g.dispose(); AWTLoader loader = new AWTLoader(); Texture2D tex = new Texture2D(loader.load(img, true)); //changes to image parameter in buffer, affect the texture. tex.setMagFilter(Texture.MagFilter.Nearest); tex.setMinFilter(Texture.MinFilter.NearestNearestMipMap); return tex; } }
public static Texture createTexture(BufferedImage bufferedImage) { Image image = awtLoader.load(bufferedImage, true); Texture texture = new Texture2D(image); return texture; }
/** this method calls dispose on Graphics2D g*/ public static Texture2D createTexture(BufferedImage img, Graphics2D g) { if (g != null) g.dispose(); AWTLoader loader = new AWTLoader(); Texture2D tex = new Texture2D(loader.load(img, true)); //changes to image parameter in buffer, affect the texture. tex.setMagFilter(Texture.MagFilter.Nearest); tex.setMinFilter(Texture.MinFilter.NearestNearestMipMap); return tex; } }
@Override protected void controlUpdate(float fps) { cont += fps; if (cont > frecuency) { synchronized (buf) { if (imagCont > 0) { if (texture == null) { texture = new Texture2D(buf[index].getWidth(), buf[index].getHeight(), Image.Format.Depth24); texture.setImage(awtLoader.load(buf[index], true)); display.getMaterial().setTexture("ColorMap", texture); } else { texture.setImage(awtLoader.load(buf[index], true)); display.updateGeometricState(); } imagCont--; } } cont = 0f; } }
textures[texUnit].setImage(awtLoader.load(newTexture, false));
private void generateTexture() { if (material != null) { // The base image BufferedImage flower = new BufferedImage(64, 64, BufferedImage.TYPE_INT_ARGB); Graphics2D g = flower.createGraphics(); // Health ring drawImage(assetManager, g, flower.getWidth(), flower.getHeight(), "Textures/GUI/moods/H-0" + currentHealthIndex + ".png"); // The rest drawImage(assetManager, g, flower.getWidth(), flower.getHeight(), getCenterIcon()); drawImage(assetManager, g, flower.getWidth(), flower.getHeight(), getObjectiveIcon()); onTextureGenerated(g); // Dispose g.dispose(); // Convert the new image to a texture AWTLoader loader = new AWTLoader(); Texture tex = new Texture2D(loader.load(flower, false)); material.setTexture("ColorMap", tex); } }
public Object load(AssetInfo info) throws IOException { if (ImageIO.getImageWritersBySuffix(info.getKey().getExtension()) != null){ boolean flip = ((TextureKey) info.getKey()).isFlipY(); InputStream in = null; try { in = info.openStream(); Image img = load(in, flip); return img; } finally { if (in != null){ in.close(); } } } return null; } }
private Texture createTexture() throws IOException { String name = "ktorch"; //float[] scales = {1f, 1f, 1f, 1f}; //float[] offsets = new float[4]; //RescaleOp rop = new RescaleOp(scales, offsets, null); // Get the first frame, the frames need to be same size BufferedImage img = ImageIO.read(assetManager.locateAsset(new AssetKey(ConversionUtils.getCanonicalAssetKey("Textures/" + name + "0.png"))).openStream()); // Create image big enough to fit all the frames BufferedImage text = new BufferedImage(img.getWidth() * frames, img.getHeight(), BufferedImage.TYPE_INT_ARGB); Graphics2D g = text.createGraphics(); g.drawImage(makeColorTransparent(img), 0, 0, null); for (int x = 1; x < frames; x++) { AssetInfo asset = assetManager.locateAsset(new AssetKey(ConversionUtils.getCanonicalAssetKey("Textures/" + name + x + ".png"))); img = ImageIO.read(asset.openStream()); g.drawImage(makeColorTransparent(img), img.getWidth() * x, 0, null); } g.dispose(); // Convert the new image to a texture AWTLoader loader = new AWTLoader(); Texture result = new Texture2D(loader.load(text, false)); return result; }