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

📄 transformed.java

📁 用JAVA编的画图编辑器的代码
💻 JAVA
字号:
import java.awt.*;import java.applet.Applet;import java.awt.image.*;import java.awt.geom.AffineTransform;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import java.awt.event.WindowAdapter;public class Transformed extends Applet {    private BufferedImage bi;    private Double angle;    private Double x;    private Double y;    private int kind;    private Image ima;        float[] elements = { .1111f, .1111f, .1111f,                         .1111f, .1111f, .1111f,                         .1111f, .1111f, .1111f};    public Transformed(Image img,Double ang,int a) {    		kind=a;    		angle=ang;            setBackground(Color.white);            try {                MediaTracker tracker = new MediaTracker(this);                tracker.addImage(img, 0);                tracker.waitForID(0);            } catch (Exception e) {}            int iw = img.getWidth(this);            int ih = img.getHeight(this);            bi = new BufferedImage(iw, ih, BufferedImage.TYPE_INT_RGB);            Graphics2D big = bi.createGraphics();            big.drawImage(img,0,0,this);    } 	public Transformed(Image img,Double sizx, Double sizy,int a) {			kind=a;			x=sizx;			y=sizy;            setBackground(Color.white);            try {                MediaTracker tracker = new MediaTracker(this);                tracker.addImage(img, 0);                tracker.waitForID(0);            } catch (Exception e) {}            int iw = img.getWidth(this);            int ih = img.getHeight(this);            bi = new BufferedImage(iw, ih, BufferedImage.TYPE_INT_RGB);            Graphics2D big = bi.createGraphics();            big.drawImage(img,0,0,this);    }    public void paint(Graphics g) {        Graphics2D g2 = (Graphics2D) g;        int w = getSize().width;        int h = getSize().height;        int bw = bi.getWidth(this);        int bh = bi.getHeight(this);	AffineTransform at = new AffineTransform();	//at.scale(w/2.0/bw, h/1.0/bh);	//at.rotate(angle, 0.0, 50.0);	//at.getShearInstance(-0.4, 0.0);	if(kind==0){at=AffineTransform.getScaleInstance(x, y);}	if(kind==1){at=AffineTransform.getRotateInstance(angle, 300.0, 330.0);}	BufferedImageOp biop = null;	BufferedImage bimg = new BufferedImage(bw,bh,BufferedImage.TYPE_INT_RGB);        Kernel kernel = new Kernel(3, 3, elements);        ConvolveOp cop = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);	cop.filter(bi,bimg);	biop = new AffineTransformOp(at, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);	//g2.drawImage(null, biop, 0, 0);      	g2.drawImage(bimg, biop,90,30);       	     settheImage((Image)bimg );     //Image abcdef=new Image();    }        public void settheImage(Image image){    	ima=image;    }    public Image gettheImage(){    	return ima;    }    /*public static void main(String s[]) {	WindowListener l = new WindowAdapter() {	    public void windowClosing(WindowEvent e) {System.exit(0);}	};	Frame f = new Frame("Transformed");	f.addWindowListener(l);	f.add("Center", new Transformed());	f.pack();	f.setSize(new Dimension(600, 300));	f.show();    }*/}

⌨️ 快捷键说明

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