📄 cropimage.java.bak
字号:
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.applet.Applet;
public class cropimage extends Applet implements MouseListener
{
int x,y;
double startx ,starty;
Image img;
Image newimg;
int x1,y1, w,h,count=1;
Label lab;
public void init()
{lab=new Label( );
lab.setSize(400,50);
lab.setBackground(Color.green);
add(lab);
lab.addMouseListener(this);
img=getImage(getCodeBase(),"linxinru1.jpg");
newimg=img;
addMouseListener(this);
setLayout(null);
}
public void paint(Graphics g){
int w=newimg.getWidth(this);
int h=newimg.getHeight(this);
Dimension d=getSize();
System.out.println("w:"+w);
System.out.println("h:"+h);
System.out.println("d.width:"+d.width);
System.out.println("d.height:"+d.height);
if(w>d.width)w=d.width;
if(h>d.height)h=d.height;
g.drawImage(newimg,(d.width-w)/2,(d.height-h)/2,this);
startx=(d.width-w)/2;
starty=(d.height-h)/2;
lab.setText("x: "+x+" y: "+y+" startx: "+startx+" starty: "+starty);
}
public void mouseClicked(MouseEvent e){};
public void mouseEntered(MouseEvent e){};
public void mouseExited(MouseEvent e){};
public void mousePressed(MouseEvent e){
Graphics g=getGraphics();
x=e.getX();
y=e.getY();
lab.setText("x: "+x+" y: "+y+" startx: "+startx+" starty: "+starty);
if(count==1)
{
x1=x; y1=y; count=2;
g.drawLine(x-5,y,x+5,y);
g.drawLine(x,y-5,x,y+5);
}
else
if(count==2)
{
count=3;
if(x1>x)w=x1-x;
else w=x-x1;
if(y1>y)h=y1-y;
else h=y-y1;
newimg=crop();
repaint();
}
else
{
count=1;
newimg=img;
repaint();
}
}
public void mouseReleased(MouseEvent e){}
Image crop()
{
ImageFilter filter=new CropImageFilter(x1,y1,w,h);
ImageProducer producer=new FilteredImageSource(img.getSource(),filter);
return createImage(producer);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -