?? croptest.java.bak
字號:
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.applet.Applet;
/*類CropTest是Applet的子類,該類實現(xiàn)了MouseListener接口,目的是實現(xiàn)圖像的剪切*/
public class CropTest extends Applet implements MouseListener{
/*聲明一個Image對象oldimgObj,用于存放加載的原始圖像*/
Image oldimgObj;
/*聲明一個Image對象newimgObj,用于存放處理后的圖像*/
Image newimgObj;
/*聲明兩個整型變量x和y,用于獲得鼠標單擊的位置坐標*/
int x,y;
/*聲明一個Graphics對象*/
Graphics g = getGraphics();
/*定義幾個整型變量,用于圖像的處理,x1、y1分別代表剪切圖像的左上角的橫縱坐標,width和height代表剪切圖像的大小,clickNum代表鼠標單擊圖像的次數(shù)*/
int x1,y1,width,height,clickNum=1;
public void init(){
/*獲得載入的圖像對象,賦給oldimgObj對象*/
oldimgObj = getImage(getCodeBase(),"a014.jpg");
/*讓newimgObj剛開始也指向載入的圖像對象*/
newimgObj = oldimgObj;
/*為該程序類所在的Applet注冊鼠標時間監(jiān)聽器*/
addMouseListener(this);
}
/*paint方法用于將圖像顯示出來*/
public void paint(Graphics g){
/*獲得處理后圖像的寬度*/
int width = newimgObj.getWidth(this);
/*獲得處理后圖像的高度*/
int height = newimgObj.getHeight(this);
/*獲得當前窗口的大小*/
Dimension mensionObj = getSize();
/*下面的兩個語句根據(jù)圖像大小和窗口大小的比較,來決定width和height變量的取值*/
if(width>mensionObj.width) width = mensionObj.width;
if(height>mensionObj.height) height = mensionObj.height;
//g.drawImage(newimgObj,(mensionObj.width-width)/2,(mensionObj.height-height)/2,this);
g.drawImage(newimgObj,0,0,this);
}
/*下面的幾個方法實現(xiàn)MouseListener接口*/
public void mouseClicked(MouseEvent e){
}
public void mouseEntered(MouseEvent e){
}
public void mouseExited(MouseEvent e){
}
/*重寫mousePressed方法,獲得鼠標按下時的位置*/
public void mousePressed(MouseEvent e){
/*將獲得的鼠標單擊位置的橫縱坐標分別賦給x和y*/
x = e.getX();
y = e.getY();
}
public void mouseReleased(MouseEvent e){
/*獲得鼠標松開時的位置*/
x1 = e.getX();
y1 = e.getY();
/*下面的四行語句根據(jù)鼠標兩次單擊的位置來確定圖像的width和height*/
if(x1>x) width = x1-x;
else width = x-x1;
if(y1>y) height = y1-y;
else height = y-y1;
ImageFilter filterObj = new CropImageFilter(x,y,width,height);
/*根據(jù)提取的圖像建立新的圖像數(shù)據(jù)*/
ImageProducer producerObj = new FilteredImageSource(oldimgObj.getSource(),filterObj);
/*生成新的圖像對象,并將該對象返回*/
newimgObj = createImage(producerObj);
repaint();
oldimgObj = newimgObj;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -