Advertisement
kuchuz

PBO-C 7 : OFImage

Jan 11th, 2021
973
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.98 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.image.*;
  3. import javax.swing.*;
  4.  
  5. public class OFImage extends BufferedImage
  6. {
  7.     public OFImage(BufferedImage image)
  8.     {
  9.         super(image.getColorModel(), image.copyData(null), image.isAlphaPremultiplied(), null);
  10.     }
  11.  
  12.     public OFImage(int width, int height)
  13.     {
  14.         super(width, height, TYPE_INT_RGB);
  15.     }
  16.  
  17.     public void setPixel(int x, int y, Color warna)
  18.     {
  19.         int pixel = warna.getRGB();
  20.         setRGB(x, y, pixel);
  21.     }
  22.  
  23.     public Color getPixel(int x, int y)
  24.     {
  25.         int pixel = getRGB(x, y);
  26.         return new Color(pixel);
  27.     }
  28.  
  29.     public void darker() {
  30.         int height = getHeight();
  31.         int width = getWidth();
  32.         for (int i = 0; i < height; i++)
  33.         {
  34.             for (int j = 0; j < width; j++)
  35.             {
  36.                 setPixel(j, i, getPixel(j, i).darker());
  37.             }
  38.         }
  39.     }
  40.  
  41.     public void lighter()
  42.     {
  43.         int height = getHeight();
  44.         int width = getWidth();
  45.         for (int i = 0; i < height; i++)
  46.         {
  47.             for (int j = 0; j < width; j++)
  48.             {
  49.                 setPixel(j, i, getPixel(j, i).brighter());
  50.             }
  51.         }
  52.     }
  53.  
  54.     public void threshold()
  55.     {
  56.         int height = getHeight();
  57.         int width = getWidth();
  58.         for (int i = 0; i < height; i++)
  59.         {
  60.             for (int j = 0; j < width; j++)
  61.             {
  62.                 Color pixel = getPixel(j, i);
  63.                 int brightness = (pixel.getRed() + pixel.getBlue() + pixel.getGreen()) / 3;
  64.                 if (brightness <= 85)
  65.                 {
  66.                     setPixel(j, i, Color.BLACK);
  67.                 }
  68.                 else if (brightness <= 85 * 2)
  69.                 {
  70.                     setPixel(j, i, Color.GRAY);
  71.                 }
  72.                 else
  73.                 {
  74.                     setPixel(j, i, Color.WHITE);
  75.                 }
  76.             }
  77.         }
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement