Advertisement
Dr_U

9_OFImageClass

Dec 10th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.97 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.image.*;
  3. import javax.swing.*;
  4. /**
  5.  *Class ini bertujuan untuk sebuah gambar di object first format
  6.  *
  7.  * @author Yusuf anfasya
  8.  * @version 1
  9.  */
  10. public class OFImage extends BufferedImage
  11. {
  12.     // membuat sebuah OFimage copied dari BufferedImage
  13.  
  14.     public OFImage(BufferedImage image)
  15.     {
  16.         super(image.getColorModel(),
  17.         image.copyData(null),
  18.         image.isAlphaPremultiplied(),null);
  19.     }
  20.    
  21.     //membuat OFimage dengan besar yang spesifik dan content yang tidak spesifik
  22.     //@param lebar sebagai lebar @param tinggi sebagai tinggi gambar
  23.    
  24.     public OFImage(int lebar,int tinggi)
  25.     {
  26.         super(lebar,tinggi,TYPE_INT_RGB);
  27.     }
  28.    
  29.     /**
  30.      * mengatur pixel dari sebuah gambar menjadi sebuah warna spesifik
  31.      * dalam RGB
  32.      * @param x dan y sebagai x posisi dan y posisi
  33.      * @param col sebagai warna dari pixel nya
  34.      */
  35.    
  36.     public void setPixel(int x,int y, Color col)
  37.     {
  38.         int pixel = col.getRGB();
  39.         setRGB(x,y,pixel);
  40.     }
  41.    
  42.     /**
  43.      * mengambil color value dari posisi pixel
  44.      * @param x dan y sebagai x posisi dan y posisi
  45.      * @param col sebagai warna dari pixel nya
  46.      */
  47.     public Color getPixel(int x,int y)
  48.     {
  49.         int pixel = getRGB(x,y);
  50.         return new Color (pixel);
  51.     }
  52.    
  53.     /**
  54.      * method untuk membuat gambar jadi lebih gelap
  55.      */
  56.    
  57.     public void gelapin()
  58.     {
  59.         int tinggi = getHeight();
  60.         int lebar = getWidth();
  61.        
  62.         for (int y = 0 ; y < tinggi ; y++)
  63.         {
  64.               for (int x = 0 ; x < tinggi ; x++)
  65.               {
  66.                 setPixel(x,y,getPixel(x,y).darker());
  67.                 }
  68.         }
  69.     }
  70.    
  71.     /**
  72.      * method untuk membuat gambar jadi lebih terang
  73.      */
  74.     public void terangin()
  75.     {
  76.        int tinggi = getHeight();
  77.         int lebar = getWidth();
  78.        
  79.         for (int y = 0 ; y < tinggi ; y++)
  80.         {
  81.               for (int x = 0 ; x < tinggi ; x++)
  82.               {
  83.                 setPixel(x,y,getPixel(x,y).brighter());
  84.                 }
  85.         }
  86.     }
  87.    
  88.     /**
  89.      * menjadikan gambar menjadi 3 warna yaitu hitam,putih,abu abu
  90.      */
  91.     public void HitamPutih()
  92.     {
  93.        int tinggi = getHeight();
  94.         int lebar = getWidth();
  95.        
  96.         for (int y = 0 ; y < tinggi ; y++)
  97.         {
  98.               for (int x = 0 ; x < tinggi ; x++)
  99.               {
  100.                 Color pixel = getPixel(x,y);
  101.                 int kecerahan = (pixel.getRed() + pixel.getGreen() +pixel.getBlue())/3;
  102.                 if(kecerahan <= 85)
  103.                 {
  104.                 setPixel(x,y,Color.BLACK);
  105.                 }
  106.                 else if(kecerahan <= 170)
  107.                 {
  108.                 setPixel(x,y,Color.GRAY);
  109.                 }
  110.                 else
  111.                 {
  112.                 setPixel(x,y,Color.WHITE);
  113.                 }
  114.               }
  115.         }
  116.     }  
  117. }
  118.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement