Java by API/java.awt/Image

Материал из Java эксперт
Перейти к: навигация, поиск

Image: getHeight(ImageObserver observer)

   <source lang="java">
 

import java.awt.Graphics; import java.awt.Image; import java.awt.MediaTracker; import java.awt.Toolkit; import javax.swing.JFrame; import javax.swing.JPanel; public class Main extends JFrame {

 Main() {
   add(new ContentPanel());
   setSize(500, 300);
 }
 public static void main(String[] args) {
   Main jrframe = new Main();
   jrframe.setVisible(true);
 }

} class ContentPanel extends JPanel {

 Image bgimage = null;
 ContentPanel() {
   MediaTracker mt = new MediaTracker(this);
   bgimage = Toolkit.getDefaultToolkit().getImage("a.jpg");
   mt.addImage(bgimage, 0);
   try {
     mt.waitForAll();
   } catch (InterruptedException e) {
     e.printStackTrace();
   }
 }
 protected void paintComponent(Graphics g) {
   super.paintComponent(g);
   int imwidth = bgimage.getWidth(null);
   int imheight = bgimage.getHeight(null);
   g.drawImage(bgimage, 1, 1, null);
 }

}


 </source>
   
  
 
  



Image: getScaledInstance(int width, int height, int hints)

   <source lang="java">
 

import java.awt.BorderLayout; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class Main extends JFrame implements ActionListener {

 Image img;
 JButton getPictureButton  = new JButton("Get Picture");
 public static void main(String[] args) {
   new Main();
 }
 public Main() {
   this.setSize(300, 300);
   this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JPanel picPanel = new PicturePanel();
   this.add(picPanel, BorderLayout.CENTER);
   JPanel buttonPanel = new JPanel();
   getPictureButton.addActionListener(this);
   buttonPanel.add(getPictureButton);
   this.add(buttonPanel, BorderLayout.SOUTH);
   this.setVisible(true);
 }
 public void actionPerformed(ActionEvent e) {
   String file = "a.png";
   if (file != null) {
     Toolkit kit = Toolkit.getDefaultToolkit();
     img = kit.getImage(file);
     img = img.getScaledInstance(300, -1, Image.SCALE_SMOOTH);
     this.repaint();
   }
 }
 class PicturePanel extends JPanel {
   public void paint(Graphics g) {
     g.drawImage(img, 0, 0, this);
   }
 }

}


 </source>
   
  
 
  



Image: getWidth(ImageObserver observer)

   <source lang="java">
 

import java.awt.Graphics; import java.awt.Image; import java.awt.MediaTracker; import java.awt.Toolkit; import javax.swing.JFrame; import javax.swing.JPanel; public class Main extends JFrame {

 Main() {
   add(new ContentPanel());
   setSize(500, 300);
 }
 public static void main(String[] args) {
   Main jrframe = new Main();
   jrframe.setVisible(true);
 }

} class ContentPanel extends JPanel {

 Image bgimage = null;
 ContentPanel() {
   MediaTracker mt = new MediaTracker(this);
   bgimage = Toolkit.getDefaultToolkit().getImage("a.jpg");
   mt.addImage(bgimage, 0);
   try {
     mt.waitForAll();
   } catch (InterruptedException e) {
     e.printStackTrace();
   }
 }
 protected void paintComponent(Graphics g) {
   super.paintComponent(g);
   int imwidth = bgimage.getWidth(null);
   int imheight = bgimage.getHeight(null);
   g.drawImage(bgimage, 1, 1, null);
 }

}


 </source>
   
  
 
  



Image.SCALE_DEFAULT

   <source lang="java">
 

import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.RepaintManager; public class Main extends JComponent implements MouseMotionListener {

 static int imageWidth = 60, imageHeight = 60;
 int imageX, imageY;
 Image image;
 public Main(Image i) {
   image = i;
   addMouseMotionListener(this);
 }
 public void mouseDragged(MouseEvent e) {
   imageX = e.getX();
   imageY = e.getY();
   repaint();
 }
 public void mouseMoved(MouseEvent e) {
 }
 public void paint(Graphics g) {
   Graphics2D g2 = (Graphics2D) g;
   g2.drawImage(image, imageX, imageY, this);
 }
 public static void main(String[] args) {
   String imageFile = "A.jpg";
   RepaintManager.currentManager(null).setDoubleBufferingEnabled(false);
   Image image = Toolkit.getDefaultToolkit().getImage(Main.class.getResource(imageFile));
   image = image.getScaledInstance(imageWidth, imageHeight, Image.SCALE_DEFAULT);
   JFrame frame = new JFrame("DragImage");
   frame.getContentPane().add(new Main(image));
   frame.setSize(300, 300);
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



Image.SCALE_SMOOTH

   <source lang="java">
 

import java.awt.BorderLayout; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class Main extends JFrame implements ActionListener {

 Image img;
 JButton getPictureButton  = new JButton("Get Picture");
 public static void main(String[] args) {
   new Main();
 }
 public Main() {
   this.setSize(300, 300);
   this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   JPanel picPanel = new PicturePanel();
   this.add(picPanel, BorderLayout.CENTER);
   JPanel buttonPanel = new JPanel();
   getPictureButton.addActionListener(this);
   buttonPanel.add(getPictureButton);
   this.add(buttonPanel, BorderLayout.SOUTH);
   this.setVisible(true);
 }
 public void actionPerformed(ActionEvent e) {
   String file = "a.png";
   if (file != null) {
     Toolkit kit = Toolkit.getDefaultToolkit();
     img = kit.getImage(file);
     img = img.getScaledInstance(300, -1, Image.SCALE_SMOOTH);
     this.repaint();
   }
 }
 class PicturePanel extends JPanel {
   public void paint(Graphics g) {
     g.drawImage(img, 0, 0, this);
   }
 }

}


 </source>