Advertisement
DarkRevenant

Untitled

May 17th, 2014
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.54 KB | None | 0 0
  1. import java.awt.image.BufferedImage;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import javax.imageio.ImageIO;
  5. import org.lwjgl.util.vector.Vector2f;
  6.  
  7. public final class YourThing {
  8.  
  9.     int transformToInt(float vectorComponent) {
  10.         return (int) ((vectorComponent + 1f) * 127.5f);
  11.     }
  12.  
  13.     void main() {
  14.         File file = new File("imageOut");
  15.         String format = "PNG";
  16.         int width = 512;
  17.         int height = 512;
  18.  
  19.         BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
  20.         Vector2f center = new Vector2f(width / 2 - 1, height / 2 - 1);
  21.  
  22.         // [0, 0] refers to the top left, I believe
  23.         for (int x = 0; x < width; x++) {
  24.             for (int y = 0; y < height; y++) {
  25.                 Vector2f vectorFromCenter = new Vector2f(x, y);
  26.                 Vector2f.sub(vectorFromCenter, center, vectorFromCenter);
  27.                 vectorFromCenter.x *= -1f;
  28.                 vectorFromCenter.normalise();
  29.                 // vectorFromCenter contains the direction vector from, you guessed it, the center of the image
  30.  
  31.                 int red = transformToInt(vectorFromCenter.x);
  32.                 int green = transformToInt(vectorFromCenter.y);
  33.                 int blue = 0;
  34.                 int alpha = 255;
  35.                 image.setRGB(x, y, (alpha << 24) | (red << 16) | (green << 8) | blue);
  36.             }
  37.         }
  38.  
  39.         try {
  40.             ImageIO.write(image, format, file);
  41.         } catch (IOException e) {
  42.             e.printStackTrace();
  43.         }
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement