Rabu, 13 April 2011

Animasi Java

Membuat animasi sederhana dengan menggunakan Java 2D.
Berikut adalah source code untuk membuat animasi dasar pada Java 2D :
import java.awt.*;
import javax.swing.*;
import java.awt.geom.*;

public class WajahManismu extends JApplet {
public static void main(String s[]) {
JFrame frame = new JFrame();
frame.setTitle(" Wajah Luchu ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JApplet applet = new WajahManismu();
applet.init();
frame.getContentPane().add(applet);
frame.pack();
frame.setVisible(true);
}

public void init() {
JPanel panel = new Panel2D();
getContentPane().add(panel);
}
}

class Panel2D extends JPanel {

private BasicStroke stroke;

public Panel2D() {
setPreferredSize(new Dimension(500, 500));
setBackground(Color.white);
}

public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
//luar wajah
GeneralPath path = new GeneralPath(GeneralPath.WIND_EVEN_ODD);
path.moveTo(250, 80);
path.lineTo(430, 250);
path.lineTo(250, 430);
path.lineTo(80, 250);
path.lineTo(250, 80);

Stroke stroke = new BasicStroke(30, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
g2.setStroke(stroke);
GradientPaint warnaGradien = new GradientPaint(125, 100, Color.cyan, 150, 100, Color.yellow, true);
g2.setPaint(warnaGradien);
g2.fill(path);
g2.draw(path);
//wajah
Ellipse2D.Double wajah = new Ellipse2D.Double(150, 150, 200, 200);
g2.setColor(Color.yellow);
g2.fill(wajah);
//garis wajah
g2.setColor(Color.blue);
g2.setStroke(new BasicStroke(3.0f));
g2.draw(wajah);
//mulut
g2.drawLine(200, 290, 250, 325);
g2.drawLine(250, 325, 300, 290);
//hidung
Ellipse2D.Double hidung = new Ellipse2D.Double(225, 255, 50, 25);
g2.setColor(Color.black);
g2.fill(hidung);
//garis hidung
g2.setColor(Color.blue);
g2.setStroke(new BasicStroke(2.0f));
g2.draw(hidung);
//kacamata
Rectangle2D.Double kacamata1 = new Rectangle2D.Double(190, 200, 50, 30);
g2.setColor(Color.RED); // pilih warna merah
g2.fill(kacamata1); // fill kan ke matakiri
g2.setColor(Color.blue); // ganti warna ke biru
g2.setStroke(new BasicStroke(3.0f)); // tebal 3 pixel
g2.draw(kacamata1); // gambarkan
Rectangle2D.Double kacamata2 = new Rectangle2D.Double(260, 200, 50, 30);
g2.setColor(Color.RED); // pilih warna merah
g2.fill(kacamata2); // fill kan ke matakiri
g2.setColor(Color.blue); // ganti warna ke biru
g2.setStroke(new BasicStroke(3.0f)); // tebal 3 pixel
g2.draw(kacamata2); // gambarkan
//tengah kacamata
g2.draw(new Arc2D.Double(240, 205, 20, 30, 360, 200, Arc2D.OPEN));
//tali samping kacamata
g2.drawLine(163, 200, 190, 215);
g2.drawLine(310, 215, 335, 200);
//persegi putus-putus
float[] dashPattern;
float dashPhase = 0.0f;
dashPattern = new float[2];
dashPattern[0] = 5;
dashPattern[1] = 3;

Rectangle2D.Double matakiri2 = new Rectangle2D.Double(195, 205, 40, 20); // rectangle
g2.setColor(Color.GREEN); // ijo
g2.fill(matakiri2); // fill kan
g2.setColor(Color.blue); // ganti warna
// nah, stroke/garisnya diset putus2, dengan pola dash yg tadi
g2.setStroke(new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 2.0f, dashPattern, dashPhase));
g2.draw(matakiri2); // gambarkan

Rectangle2D.Double matakanan2 = new Rectangle2D.Double(265, 205, 40, 20); // rectangle
g2.setColor(Color.GREEN); // ijo
g2.fill(matakanan2); // fill
g2.setColor(Color.blue); // biru
// set stroke ama dash pattern tadi --> ingat, stroke = garis tepinya
g2.setStroke(new BasicStroke(3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 2.0f, dashPattern, dashPhase));
g2.draw(matakanan2); // gambarkan
}
}

Belajar Bahasa Borland C++ Builder

PENGENALAN BORLAND C++ BUILDER
Microsoft Windows dan Borland C + + Builder memberi Anda kemampuan untuk menggambar grafik.
Langkah-langkah yang dilakukan dalam Pembuatan garis :
1. Install Borland C++ Builder ( Dalam Contoh di bawah menggunakan Borland c++ Builder 6.0).
2. Setelah ituKlik Menu—File—New—Apllication
3. Maka akan Muncul Form1
4. Dan Pilih Event—OnPaint—(Klik Dua kali)
5. Ketikkan Listing program di bawah ini

1. Membuat Garis Lurus
void __fastcall TForm1::FormPaint(TObject *Sender)
{
Canvas->Pen->Color = clRed;
Canvas-> MoveTo (45, 15);
Canvas-> LineTo (275, 95);
}
//---------------------------------------------------------------------------


2. Membuat Garis tak beraturan , tetapi ketebalan garis yang tidak berturan.
void __fastcall TForm1::FormPaint(TObject *Sender)
{
Form1->Color=clYellow;

Canvas->Pen->Color=clGreen;
Canvas->Pen->Width=7;
Canvas->MoveTo(275,220);
Canvas->LineTo(195,175);

Canvas->Pen->Color=clRed;
Canvas->Pen->Width=5;
Canvas->LineTo(167,230);
Canvas->MoveTo(190,220);

Canvas->Pen->Color=clBlue;
Canvas->Pen->Width=2;
Canvas->MoveTo(270,220);
Canvas->LineTo(245,285);

}
//---------------------------------------------------------------------------





3. Membuat bangun Ruang yang sederhana
void __fastcall TForm1::FormPaint(TObject *Sender)
{

Canvas->Pen->Color=clBlue;
Canvas->Pen->Width=5;
Canvas-> MoveTo (90, 50);
Canvas-> LineTo (90, 152);
Canvas-> LineTo (294, 152);
Canvas-> LineTo (90, 50);
}
//---------------------------------------------------------------------------




4. Membuat Bangun ruang dengan pewarnaan di dalamnya
void __fastcall TForm1::FormPaint(TObject *Sender)
{

// Bola
Canvas->Pen->Width = 4;
Canvas->Brush->Color=clBlue;
Canvas->Ellipse(20,20,100,100);
Canvas->Brush->Color=clWhite;
Canvas->TextOutA(50,110,"Bola");

// Oval
Canvas->Pen->Width=3;
Canvas->Brush->Color=clGreen;
Canvas->Ellipse(120,20,300,100);
Canvas->Brush->Color=clWhite;
Canvas->TextOutA(200,110,"Oval");
}
//---------------------------------------------------------------------------