Java Programming‎ > ‎Graphics 2D‎ > ‎

Mendapatkan Warna dari Nilai Hex RGB

posted Sep 1, 2011, 7:42 PM by Editor KursusInternet   [ updated Sep 9, 2011, 9:07 PM ]

Pendahuluan

Buat kita yang terbiasa mendapatkan warna dengan kombinasi nilai RGB dalam bentuk Hex seperti yang digunakan pada CSS (Cascading Style Sheet), maka Java menyediakan method yang mengembalikan objek warna (Color) sesuai spesifikasi hex RGB tersebut yaitu method decode().

Contoh penggunaan method decode dengan nilai RGB #A5BFDD adalah sebagai berikut.

    Color.decode("#A5BFDD");

Contoh Penggunaan

Berikut adalah contoh kode penggunaan RadialGradientPaint ( versi Java 6 SE ke atas).

package com.kursusinternet.graphics;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Polygon;
import java.awt.RadialGradientPaint;
import java.awt.MultipleGradientPaint.CycleMethod;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class SegitigaRadialGradien extends JPanel {

  private static final long serialVersionUID = 1L;

  public void gambar(Graphics g)
  {
    float[] fraksi = {0.0f0.4f0.8f1.0f};
    Color[] colors = {
        Color.decode("#ffff6d")
        Color.decode("#ffff24")
        Color.decode("#ff8400"),
        Color.decode("#da2c00")
        };
    RadialGradientPaint gradialPaint =
      new RadialGradientPaint(
          150.0f150.0f,
          200.0f
          150.0f0.0f,
          fraksi, colors,
          CycleMethod.NO_CYCLE);

    Graphics2D g2d = (Graphics2Dg;
    int x[] {50200350};
    int y[] {32050320};
    g2d.setPaint(gradialPaint);
    g2d.fill(new Polygon(x,y,x.length));
  }

  public void paintComponent(Graphics g) {
    clear(g);
    gambar(g);
  }

  protected void clear(Graphics g) {
    super.paintComponent(g);
  }

  public static void main(String[] args) {
    SegitigaRadialGradien panelGambar = new SegitigaRadialGradien();
    JFrame frameGambar = new JFrame("Gambar Polyline");
    frameGambar.setSize(400400);
    panelGambar.setBackground(Color.white);
    frameGambar.setContentPane(panelGambar);
    frameGambar.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frameGambar.setVisible(true);
  }
}


Comments