Sha256: b4bab6afeebc4a368dfeccf6330a609a0387a12e133cfd7dc1f6527018c991d0
Contents?: true
Size: 1.27 KB
Versions: 2
Compression:
Stored size: 1.27 KB
Contents
package org.sunflow.image.writers; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import org.sunflow.image.BitmapWriter; import org.sunflow.image.Color; public class PNGBitmapWriter implements BitmapWriter { private String filename; private BufferedImage image; @Override public void configure(String option, String value) { } @Override public void openFile(String filename) throws IOException { this.filename = filename; } @Override public void writeHeader(int width, int height, int tileSize) throws IOException, UnsupportedOperationException { image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); } @Override public void writeTile(int x, int y, int w, int h, Color[] color, float[] alpha) throws IOException { for (int j = 0, index = 0; j < h; j++) { for (int i = 0; i < w; i++, index++) { image.setRGB(x + i, y + j, color[index].copy().mul(1.0f / alpha[index]).toNonLinear().toRGBA(alpha[index])); } } } @Override public void closeFile() throws IOException { ImageIO.write(image, "png", new File(filename)); } }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
joonsrenderer-1.3.1-java | src/main/java/org/sunflow/image/writers/PNGBitmapWriter.java |
joonsrenderer-1.2.0-java | src/main/java/org/sunflow/image/writers/PNGBitmapWriter.java |