Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. /*
  2. * DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  3. * Version 2, December 2004
  4. *
  5. * Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
  6. *
  7. * Everyone is permitted to copy and distribute verbatim or modified
  8. * copies of this license document, and changing it is allowed as long
  9. * as the name is changed.
  10. *
  11. * DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  12. * TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  13. *
  14. * 0. You just DO WHAT THE FUCK YOU WANT TO.
  15. *
  16. */
  17. import java.awt.Color;
  18. import java.awt.Dimension;
  19. import java.awt.Image;
  20. import java.awt.Point;
  21. import java.awt.image.BufferedImage;
  22. import java.awt.image.ColorModel;
  23. import java.awt.image.DataBufferInt;
  24. import java.awt.image.Raster;
  25. import java.io.File;
  26. import java.io.IOException;
  27. import java.util.Random;
  28.  
  29. import javax.imageio.ImageIO;
  30. import javax.swing.JComponent;
  31. import javax.swing.JFrame;
  32.  
  33. final class NoiseGen {
  34.  
  35. private NoiseGen() {
  36. }
  37.  
  38. public static void main(String[] args) {
  39. final int w = 768;
  40. final int h = 768;
  41. final int alpha = 60;
  42.  
  43. var buffer = new DataBufferInt(
  44. new Random().ints(w * h).parallel()
  45. .map(x -> (x & (alpha << 24)))
  46. .toArray(),
  47. w * h);
  48.  
  49. var raster = Raster.createPackedRaster(
  50. buffer,
  51. w, h, w,
  52. // ARGB
  53. new int[] { 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000 },
  54. new Point(0, 0));
  55.  
  56. var img = new BufferedImage(ColorModel.getRGBdefault(), raster,
  57. false, null);
  58.  
  59. preview(img);
  60.  
  61. try {
  62. ImageIO.write(img, "PNG", new File("noise.png"));
  63. } catch (IOException exception) {
  64. exception.printStackTrace();
  65. }
  66. }
  67.  
  68. private static void preview(Image img) {
  69. int w = img.getWidth(null);
  70. int h = img.getHeight(null);
  71.  
  72. var contentPane = new JComponent() {
  73.  
  74. private static final long serialVersionUID = 1L;
  75.  
  76. public void paint(java.awt.Graphics g) {
  77. g.drawImage(img,
  78. ((getWidth() - w) >> 1),
  79. ((getHeight() - h) >> 1),
  80. this);
  81. };
  82.  
  83. };
  84. contentPane.setPreferredSize(new Dimension(w + 10, h + 10));
  85. contentPane.setSize(w + 10, h + 10);
  86.  
  87. var frame = new JFrame("Preview");
  88. frame.setDefaultCloseOperation(3);
  89. frame.setBackground(Color.WHITE);
  90. frame.setContentPane(contentPane);
  91. frame.pack();
  92. frame.setLocationRelativeTo(null);
  93. frame.setVisible(true);
  94. }
  95.  
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement