Skip to content Skip to sidebar Skip to footer

Pertemuan 12 Pemrosesan Citra Komputer Grafik

Pertemuan 12 
Pemrosesan Citra 


Assalamualaikum wr,wb selamat datang kembali di blog saya, kali ini saja akan membagikan contoh dari source code Animasi 2d yaitu bagian dari pemrosesan citra. Bagi yang belum tau  Animasi 2D menurut saya adalah penciptaan gambar bergerak dalam lingkungan dua dimensi.

Hal ini dilakukan dengan urutan gambar berturut-turut, atau “frame”, yang mensimulasikan gerak oleh setiap gambar menunjukkan berikutnya, ada juga yang berpendapat animasi 2D adalah animasi yang menggunakan sketsa gambar, lalu sketsa gambar ini digerakkan satu persatu, maka tidak akan terlihat seperti nyata.

Disebut animasi 2 dimensi karena dibuat melalui sketsa yang yang digerakan satu persatu sehingga nampak seperti nyata dan bergerak. Animasi 2D hanya bisa dilihat dari depan saja.

Animasi 2D kita kenal dengan kartun (cartoon), yaitu kumpulan gambar-gambar lucu dalam film animasi untuk menghibur penonton. Beberapa contoh film kartun misalnya; Donal Bebek, Tom & Jerry, dan lain-lain.


animasi2d
contoh animasi2d

Jika ingin mencoba 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;
import java.awt.*; 
import java.awt.geom.*; 
import javax.swing.*; 

/**
 *
 * @author lenovo
 */
public class animasi2d extends JPanel {
     private float xpos = 20f;     
     private float ypos = 20f;     
     private float diff = 1.0f; 
 
    public animasi2d() {         
        new AnimasiRunnable();     
    } 
     public void paintComponent(Graphics g) {         
         super.paintComponent(g);         
         Graphics2D g2d = (Graphics2D) g;         
         Rectangle2D rect =              
                 new Rectangle2D.Float(xpos, ypos, 80f, 40f);         
         g2d.fill(rect);          
     } 
 
    public static void main(String[] args) {         
        JFrame frame = new JFrame("Animasi");         
        frame.add(new animasi2d());        
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        
        frame.setSize(450, 450);        
        frame.setLocationRelativeTo(null);         
        frame.setVisible(true);     
    } 
 
    class AnimasiRunnable implements Runnable {         
        private Thread runner;         
        public AnimasiRunnable() {             
            runner = new Thread(this);             
            runner.start();         
        }                 
        public void run() {            
            while (true) {                
                repaint();                              
                if (xpos > 400.0f)                     
                    diff = -1.0f;                 
                else if (xpos < 20f)                    
                    diff = 1.0f;                                 
                xpos += diff;                 
                ypos += diff;                                  
                try {                    
                    Thread.sleep(30);                 
                } catch 
                        (Exception e) {}
            }        
        }  
    } 
} 
 

itulah source code dari animasi 2d, bisa juga mengunakan bentuk yang lain sesuai yang kita tentukan

Bisa juga dengan mengunakan 2 objek seperti contoh:

animasi2d

Dari gambar diatas bisa kita lihat animasi2d dengan 2 objek bergerak dan tidak saling bertabrakan, untuk source code nya dibawah ini





/*
 * 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;
import java.awt.*; 
import java.awt.geom.*; 
import javax.swing.*; 

/**
 *
 * @author lenovo
 */
public class animasi2 extends JPanel {
     private float xpos = 100f;     
     private float xpos1 = 200f;
     private float ypos = 50f; 
     private float ypos1 = 300f;  
     private float diff = 3.0f; 
     private float diff1 = 3.0f; 
 
    public animasi2() {         
        new AnimasiRunnable(); 
        new AnimasiRunnable1();
        
    } 
     public void paintComponent(Graphics g) {         
         super.paintComponent(g);         
         Graphics2D g2d = (Graphics2D) g;         
         Rectangle2D rect =              
         new Rectangle2D.Float(xpos, ypos, 80f, 40f);         
         g2d.fill(rect);  
         
         g2d.setColor(Color.red);
        g2d.fill(new Ellipse2D.Double(xpos1, ypos1, 80f, 80f));
     } 
 
    public static void main(String[] args) {         
        JFrame frame = new JFrame("Animasi");         
        frame.add(new animasi2());        
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        
        frame.setSize(800, 800);        
        frame.setLocationRelativeTo(null);         
        frame.setVisible(true);     
    } 
 
    class AnimasiRunnable implements Runnable {         
        private Thread runner;         
        public AnimasiRunnable() {             
            runner = new Thread(this);             
            runner.start();         
        }      

        public void run() {            
            while (true) {                
                repaint();                              
                if (xpos > 400.0f)                     
                    diff = -1.0f;                 
                else if (xpos < 20f)                    
                    diff = 1.0f;                                 
                xpos += diff;                 
                ypos += diff;                                  
                try {                    
                    Thread.sleep(30);                 
                } catch 
                        (Exception e) {}
            }        
        }  
    }
    class AnimasiRunnable1 implements Runnable {         
        private Thread runner;         
        public AnimasiRunnable1() {             
            runner = new Thread(this);             
            runner.start();         
        }      

        public void run() {            
            while (true) {                
                repaint();                              
                if (xpos1 > 400.0f)                     
                    diff1 = -2.0f;                 
                else if (xpos1 < 20f)                    
                    diff1 = 1.0f;                                 
                xpos1 += diff1;                 
                ypos1 += diff1;                                  
                try {                    
                    Thread.sleep(30);                 
                } catch 
                        (Exception e) {}
            }        
        }
    }  
} 
 


Itulah contoh pemrosesan citra dengan animasi2d,

Anda bisa mengimplementasikan nya lebih menarik lagi dari yang saya buat ini, karna saya hanya membuat dasar nya saja, jadi silahkan di kreasikan sendiri lagi pemanfaatan pemrosessan citra dengan animasi2d ini.

Demikian artikel ini jika ada salah kata saya mohon maaf, dan jika masih kurang jelas silahkan ditanyakan.

Sekian dan terimaksih

Post a Comment for "Pertemuan 12 Pemrosesan Citra Komputer Grafik"