Skip to content Skip to sidebar Skip to footer

Pertemuan 10 Text & Font Komputer Grafik

PERTEMUAN 10
TEXT & FONT


Assalamualaikum wr.wb gimana kabarnya? alhamdulilah saya bisa melanjutnya penulisan ini yang sebelumnya kita membahas clipping dan transparency kemudian disini membahas text dan font, mungkin sudah tidak asing lagi ya tentang text dan font itu apa.

Coba Anda buat kan definisi Font pada Java 2D dan sertakan contoh font pada object Anda yang sudah pernah dibuatkan sebelumnya. 
Jawab:
Java 2D menyediakan kumpulan font dan text yang dapat dimanipulasi sedemikian rupa. Text digambarkan dengan serangkaian karakter dengan pola pengkodean standar sepeti ASCII dan Unicode. Penggambaran bentuk dari karakter ditentukan oleh font standar. Geometri yang menggambarkan bentuk karakter dikenal dengan glyph. Jadi, font adalah kumpulan dari glyph untuk seluruh abjad.
Penggunaan font di Java 2D dapat dilakukan dengan memanggil method setFont dan drawstring di Graphics2D. Font yang tersedia di lingkungan tergantung pada platform. Di Java mendukung beberapa font diantaranya :

Serif
SanSerif
Monospaced
Dialog
DialogInput

Selain itu terdapat parameter style yang memungkinkan untuk memanipulasi bentuk font diantaranya :

PLAIN
ITALIC
BOLD

dan berikut contoh font pada komputer grafik:

font
Contoh Peneapan Font dalam komputer grafik.

untuk membuat font begitu dibawah ini saya berikan soure code nya jika anda mau mencoba membuatnya mengunakan jenis font lain misal Arial, Times New Romasn atau yang lain nya.




/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Elerning;

/**
 *
 * @author lenovo
 */
import java .awt.*;
import java .awt.event.*;
import javax.swing.*;
import java .awt.font.*;
import java .awt.geom.*;
import java.awt.Color;

public class font extends JApplet {
    public static  void main (String s[]){
        JFrame frame = new JFrame();
        frame.setTitle("ELERNING PERT 10");
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        JApplet applet = new font();
        applet.init();
        frame.getContentPane().add(applet);
        frame.pack();
        frame.setVisible(true);}

    private static void setDefaultCloseOperation(int DISPOSE_ON_CLOSE) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
    
    public void init() {
        JPanel panel = new Panel2D();
        getContentPane().add(panel);
    }
    
   
    class Panel2D extends JPanel {
        public Panel2D() {
            setPreferredSize(new Dimension(500, 500));
            setBackground(Color.PINK);
        }
        public void paintComponent(Graphics g) {
            Dimension d = getSize();
            int maxX = d.width-1; int maxY = d.height-1;
            super.paintComponent(g);
            Graphics2D g2 = (Graphics2D)g;
            Color warna;
            
            g2.setColor(Color.blue);
            Font font = new Font("chiller", Font.BOLD, 60);
            g2.setFont(font);
            FontRenderContext frc = g2.getFontRenderContext();
        GlyphVector gv = font.createGlyphVector(frc, "DWI SUTIKNO");
        Shape glyph = gv.getOutline(100,100);
        g2.setStroke(new BasicStroke(3.0f));
        g2.rotate(Math.toRadians(45), 100, 100);
        g2.draw(glyph);
        g2.setColor(Color.blue);
        g2.fill(glyph);
    
        }
    }
}

itu lah contoh source code penulisan font dalam bahasa java bisa dilihat disitu saya mengunakan jenis font chiller, jika ingin mencoba jenis font yang lain silahkan

Selanjutnya Line
Silakan diskusikan mengenai line metrics  pada Java 2D, berikan pendapat Anda sertakan juga contoh nya. 
Jawab:
LineMetrics digunakan untuk mendapatkan informasi ukuran suatu text  seperti baseline, ascent, height, leading, dan descent.

line
Contoh Line Komputer Grafik

untuk membuat line seperti diatas berikut saya kasih source code nya:




/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Elerning;

/**
 *
 * @author lenovo
 */
import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class line extends JPanel{

    public line(){
        setPreferredSize(new Dimension(500, 400));
        setBackground(Color.WHITE);
    }
    public static void main(String[] args) {
        // TODO code application logic here
        
        JFrame frame = new JFrame();
        frame.setTitle ("Elerning Line");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        line panel = new line();
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
    }

    @Override
    public void paintComponent(Graphics g){
        super.paintComponent(g);
        Graphics2D g2=(Graphics2D)g;
        //menggambar sebuah garis dengan ketebalan 3 pixel
        BasicStroke bsGarisTebal=new BasicStroke(3.0f);
        g2.setStroke(bsGarisTebal);
        g2.drawLine(30, 50, 30, 250);

        //array untuk mendeskripsikan garis putus - putus
        float[]dashPattern;

        //offset dimana garis putus-putus harus dimulai
        float dashPhase=0.0f;

        //pola garis putus-putus
        dashPattern=new float[10];
        dashPattern[0]=4.0f;
        dashPattern[1]=5.0f;
        dashPattern[2]=8.0f;
        dashPattern[3]=5.0f;
        dashPattern[4]=12.0f;
        dashPattern[5]=5.0f;
        dashPattern[6]=16.0f;
        dashPattern[7]=5.0f;
        dashPattern[8]=20.0f;
        dashPattern[9]=5.0f;

        //pendefinisian dari Basic Stroke yang akan digunakan
        BasicStroke bsBerpola=new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 2.0f, dashPattern, dashPhase);
        g2.setStroke(bsBerpola);

        //menggambar sebuah garis dengan pola putus-putus
        g2.drawLine(60, 50, 60, 250);

        //sebuah pola putus-putus yang sederhana dengan panjang garis(dash) 20
        //dan lebar jarak 10
        dashPattern=new float[2];
        dashPattern[0]=20;
        dashPattern[1]=10;
        //pendefinisian BasicStroke yang akan digunakan
        BasicStroke bsDashed=new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 2.0f, dashPattern, dashPhase);
        g2.setStroke(bsDashed);

        //menggambar sebuah garis (vertikal) dengan pola yang telah
        //didefinisikan sebelumnya
        g2.drawLine(120, 50, 120, 250);

        //menggambar sebuah garis (diagonal) dengan pola yang
        //telah didefinisikan sebelumnya
        g2.drawLine(150, 50, 350, 250);

        //menggunakan pola garis putus-putus yang sama seperti sebelumnya
        //tetapi dengan offset 10
        dashPhase=10.0f;
        //pendefinisian BasicStroke yang akan digunakan
        BasicStroke bsDashedShifted=new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 2.0f, dashPattern, dashPhase);
        //menggambar sebuah garis (vertikal) dengan pola putus-putus yang telah
        //didefinisikan sebelumnya
        g2.setStroke(bsDashedShifted);
        g2.drawLine(90, 50, 90, 250);
    }
} 

dan itulah source code membuat line dengan bahasa pemograman java untuk komputer grafik, anda bisa mengembangkan lagi untuk penulisan font ini karna kita tau jenis font itu sangat banyak sekali macam nya jadi anda coba saja jenis jenis font mana yang cocok anda gunakan.

begitu pun text juga untuk size nya kita bisa atur sedemikian rupa agar sesuai seperti apa yang kita inginkan, warna nya juga banyak macam tergantung selera saja. Saya hanya memberikan contoh dasar nya.

Mungkin itu saja pada artikel ini, jika ada kesalan kata saya mohon maaf dan jika ada yang masih kurang jelas silahkan di tanyakan.

Sekian dan terimakasih...

Berlangganan via Email