Hiển thị hình ảnh trong java

Discussion in 'Xây dựng ứng dụng desktop standalone' started by lycafe, 28/7/10.

  1. lycafe New Member

    Để hiển thị được hình ảnh trước hết ta cần có file ảnh . Chẳng hạn bạn cần hiển thị file ảnh có tên "man.gif". Chương trình sau sẽ giúp bạn hiểu được cách làm của Java:
    Trong đoạn chương trình trên chúng ta đã dùng phương thức DrawImage trong lớp Graphics để vẽ hình.

    Để nạp hình ta sử dụng phương thức GetImage của đối tượng Toolkit (Toolkit là đối tượng dùng để lấy hay sử lý tài nguyên ở máy cục bộ).

    Biên dịch ta dùng trình biên dịch Javac DrawImage.Java .

    Thông dịch chạy chương trình java DrawImage bạn sẽ có hình ảnh cần hiển thị nằm trong khung cửa sổ.

    Ngoài việc hiển thị hình còn có nhiều phép xử lý ảnh khác như phóng to thu nhỏ, quay hình ảnh theo các góc quay khác nhau, cắt hình mà phương thức DrawImage làm sẵn cho chúng ta, ta chỉ việc thay đổi các đối số truyền vào hàm này. Chẳng hạn bạn muốn cắt hình đi và chỉ hiển thị 1/2 hình ảnh theo chiều cao, ta làm như sau:

    //Vẽ ảnh gốc để quan sát:

    int y=0;

    // w,h là kích thước ảnh;

    g.drawImage(img,0,y,w,y+h,0,0,w,h,this);

    //ảnh bị cắt 1/2 chiều cao

    y+=h;

    g.drawImage(img,0,y,w,y+h/2,0,0,w,h/2,this);

    Trên đây là một vài cách mà Java hiển thị hình ảnh trong ứng dụng. Từ đây bạn có thể thêm các hình ảnh cho chương trình của mình mà không mất nhiều thời gian, giúp cho chương trình của bạn trở nên sinh động, hấp dẫn hơn./.
  2. OOP24H Moderator

    Ðề: Hiển thị hình ảnh trong java

    bài viết hay đây bạn.Cảm ơn bạn đã chia sẻ.
  3. dothanhlap New Member

    Ðề: Hiển thị hình ảnh trong java

    cho mình hỏi nguồn lấy ảnh là chỗ nào vậy bạn.
    sao mình lấy hình từ desktop không được.
  4. Ðề: Hiển thị hình ảnh trong java

    Các bạn test giúp mình với, không hiện được ảnh lên frame :((
    PHP:

    import java
    .awt.*;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    public class 
    DrawImage extends Frame {
        
    Image img;
        public 
    DrawImage() {
            
    img getToolkit().getImage("blue.gif");
            
    addWindowListener(new WindowAdapter() {
                public 
    void windowClosing (WindowEvent e){
                    
    System.exit(0);
                    }
            });
            
    setSize(300300);
            
    setVisible(true);
        }
        public 
    void paint(Graphics g) {
            
    g.drawImage(img00this);
        }
        
        public static 
    void main(String[] args) {
            new 
    DrawImage();
        }
    }
    //
  5. pr0t0ss9x New Member

    Ðề: Hiển thị hình ảnh trong java

    sao không dùng swing í bạn . Bạn thử xem đoạn code này nhé
    jButton17 = new javax.swing.JButton("Delete Mark", new javax.swing.ImageIcon(getClass().getResource("/resource/Home.png")));
  6. allinonevn New Member

    Ðề: Hiển thị hình ảnh trong java

    code không sai chắc do path của file ảnh không đúng với path trên thì phải đặt file ảnh vào forder của đối tượng(tức nó ngang hàng với forder "src" trong netbean)
  7. XuNgo New Member

    Ðề: Hiển thị hình ảnh trong java

    mọi người ơi, cho tớ hỏi, this trong câu lệnh g.drawIamge(img,0,0,this) thay thế cho cái gì với ạ :-s
  8. tiendat_46sc New Member

    Ðề: Hiển thị hình ảnh trong java

    trong : getImage("Duong dan den file anh");// chu y la "\" thay bang "/"
    vi du : F:/MY-Pictures/Desktop/fedora1.jpg
    nao enjoy !
  9. kojca New Member

    Bạn ơi, cho hỏi. Mình muốn tải lại hình ảnh thì làm sao nhỉ. Mình in một hình ảnh ra, sau đó sửa hình ảnh đó bằng...., bây giờ mình muốn hiển thị lại cái hình ảnh đã sửa thì làm sao vậy. Mình vẽ ra cái j khác jframe được không.

Chia sẻ trang này



Ve may bay di Ha Noi | Ve may bay di Vinh | Ve may bay di Hue | Ve may bay di Da Nang | Ve may bay di Nha Trang | Ve may bay di Da Lat | Ve may bay di Phu Quoc | Ve may bay di Sai Gon | Ve may bay di TPHCM | Ve may bay di Buon Me Thuot | Ve may bay di Hai Phong | Ve may bay di Dong Hoi | Ve may bay Vietjet Air | Phong ve may bay Vietjet Air | Ve may bay Vietnam Airlines | Phong ve may bay Vietnam Airlines | Ve may bay Vietnam Airlines | Ve may bay gia re | Ve may bay | Mua ve may bay | Jetstar | Vietnam Airlines | Air Asia | Tiger Airways | Ve may bay di My | Vietjet Air | Ve may bay di Ha Noi | Ve may bay di Da Nang | Ve may bay di Hai Phong | Ve may bay di Vinh