⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drawpane.java

📁 一些基本的代码,还有一些事例.值得一看
💻 JAVA
字号:
package jtransformdemo;import java.awt.*;import javax.swing.JPanel;import java.awt.image.*;import java.awt.color.*;import java.awt.geom.*;public class DrawPane extends JPanel {  private BorderLayout borderLayout1 = new BorderLayout();  Image image;  BufferedImage bimage;  BufferedImage bimageSrc;  BufferedImage bimageDest;  Graphics2D g2D;  AffineTransform transform = new AffineTransform();  double scaleX = 1.0;  double scaleY = 1.0;  public DrawPane() {    try {      jbInit();    }    catch(Exception ex) {      ex.printStackTrace();    }  }  void jbInit() throws Exception {    this.setLayout(borderLayout1);    loadImage();    createBufferedImage();    bimage = bimageSrc;    this.setSize(image.getWidth(this),image.getHeight(this));  }  public void loadImage(){    //image = Toolkit.getDefaultToolkit().createImage("images/image.jpg");   // System.out.println(ClassLoader.getSystemResource("images/image.jpg"));    image = this.getToolkit().createImage(ClassLoader.getSystemResource("images/image.jpg"));    MediaTracker mt = new MediaTracker(this);    mt.addImage(image,0);    try{      mt.waitForAll();    }catch(Exception err){      System.err.println("Could not load the image.");    }    if (image.getWidth(this) == -1){      System.err.println("Could not get the image.");      System.exit(1);    }  }  public void createBufferedImage(){    bimageSrc = new BufferedImage(image.getWidth(this),image.getHeight(this),        BufferedImage.TYPE_INT_ARGB);    g2D = bimageSrc.createGraphics();    g2D.drawImage(image,0,0,this);    bimageDest = new BufferedImage(image.getWidth(this),image.getHeight(this),                                   BufferedImage.TYPE_INT_ARGB);  }  public void applyFilter(){    transform.setToScale(this.scaleX,this.scaleY);    System.out.println("scale"+this.scaleX+"  "+this.scaleY);    AffineTransformOp ato = new AffineTransformOp(transform,null);    bimageDest.createGraphics().clearRect(0,0,bimageDest.getWidth(this),        bimageDest.getHeight(this));    ato.filter(bimageSrc,bimageDest);    bimage = bimageDest;  }  public void reset(){    g2D.setColor(Color.black);    g2D.clearRect(0,0,image.getWidth(this),image.getHeight(this));    g2D.drawImage(image,0,0,this);    bimage = bimageSrc;  }  public void update(Graphics g){    g.clearRect(0,0,this.getWidth(),this.getHeight());    paintComponent(g);  }  public void paintComponent(Graphics g){    super.paintComponent(g);    Graphics2D g2 = (Graphics2D)g;    g2.drawImage(bimage,0,0,this);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -