package com.vitco.util.offline;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
/**
* Generate textures, so we don't have to do it on startup.
*/
public class GenerateTexture {
public static void main(String[] args) {
generateTexture(512, true);
}
public static void generateTexture(int texSize, boolean drawSmallLines) {
// create texture
BufferedImage overlay = new BufferedImage(texSize, texSize, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = (Graphics2D) overlay.getGraphics();
g2.setColor(new Color(0, 0, 0));
g2.fillRect(0,0,texSize,texSize);
// draw the "light" lines
if (drawSmallLines) {
g2.setStroke(new BasicStroke(2f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL));
g2.setColor(new Color(170,170,170));
for (int i = 0; i <= texSize; i += 32) {
g2.drawLine(0, i, texSize, i);
g2.drawLine(i, 0, i, texSize);
}
}
// draw thick lines
g2.setStroke(new BasicStroke(4f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL));
g2.setColor(new Color(255,255,255));
for (int i = 0; i <= texSize; i += 32 * 4) {
g2.drawLine(0, i, texSize, i);
g2.drawLine(i, 0, i, texSize);
}
// write the texture file
try {
ImageIO.write(overlay, "png", new File("resource/tex/bounding_box_" + texSize + ".png"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}