📄 drawpane.java
字号:
package jrasterdemo1;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.awt.image.*;class DrawPane extends JPanel{ BufferedImage bimage,bimage1,bimage2; public DrawPane(){ Image image = this.getToolkit().getImage(ClassLoader.getSystemResource("images/image.jpg")); MediaTracker mt = new MediaTracker(this); mt.addImage(image,0); try{ mt.waitForAll(); }catch(Exception err){ err.printStackTrace(); } if (image.getWidth(this) == -1){ System.out.println("Could not get the image"); System.exit(-1); } this.setSize(image.getWidth(this),image.getHeight(this)); bimage1 = new BufferedImage(image.getWidth(this),image.getHeight(this),BufferedImage.TYPE_INT_ARGB); Graphics2D g2D = bimage1.createGraphics(); g2D.drawImage(image,0,0,this); bimage = bimage1; } public void turnBufferedImage(){ bimage2 = new BufferedImage(bimage1.getWidth(),bimage1.getHeight(),bimage1.getType()); DataBuffer db1 = bimage1.getRaster().getDataBuffer(); DataBuffer db2 = bimage2.getRaster().getDataBuffer(); for (int i=db1.getSize()-1,j=0;i>=0;i--,j++){ db2.setElem(j,db1.getElem(i)); } } public void update(Graphics g){ g.clearRect(0,0,this.getWidth(),this.getHeight()); this.paintComponent(g); } public void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2d = (Graphics2D)g; g2d.drawImage(bimage,0,0,this); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -