Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.io.IOException;
- import javax.imageio.ImageIO;
- import org.lwjgl.util.vector.Vector2f;
- public final class YourThing {
- int transformToInt(float vectorComponent) {
- return (int) ((vectorComponent + 1f) * 127.5f);
- }
- void main() {
- File file = new File("imageOut.png");
- String format = "PNG";
- int width = 512;
- int height = 512;
- BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
- Vector2f center = new Vector2f(width / 2 - 1, height / 2 - 1);
- // [0, 0] refers to the top left, I believe
- for (int x = 0; x < width; x++) {
- for (int y = 0; y < height; y++) {
- Vector2f vectorFromCenter = new Vector2f(x, y);
- Vector2f.sub(vectorFromCenter, center, vectorFromCenter);
- vectorFromCenter.x *= -1f;
- if (Float.compare(vectorFromCenter.x, 0f) == 0 && Float.compare(vectorFromCenter.y, 0f) == 0) {
- vectorFromCenter.set(0f, 0f);
- } else {
- vectorFromCenter.normalise();
- }
- // vectorFromCenter contains the direction vector from, you guessed it, the center of the image
- int red = transformToInt(vectorFromCenter.x);
- int green = transformToInt(vectorFromCenter.y);
- int blue = 0;
- int alpha = 255;
- image.setRGB(x, y, (alpha << 24) | (red << 16) | (green << 8) | blue);
- }
- }
- try {
- ImageIO.write(image, format, file);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement