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
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:
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);
}
}
}
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.
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);
}
}
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...