這段代碼應該是壹個Bean類中的壹個方法,主要功能是按照妳給的圖片,建立壹個名為kangzhw.jpg的圖片,也就是說把妳給的圖片,復制成kangzhw.jpg,並且在復制後的文件中加了幾個字(具體加什麽,不清楚)。
------------------------------------
下面我們壹行壹行看:
Image img = ImageIO.read(new File(request.getRealPath("/")+"index\\"+fileName ));
說明:
//request.getRealPath("/"),取得當前站點的根目錄.
//Image img = ImageIO.read(),這裏就是按照妳給的文件名,讀取文件到img對像中(文應該是個圖片,不知道這裏為什麽沒有做判斷).
-----------------------------------------------------------
int width = img.getWidth(null);
int height = img.getHeight(null);
說明:
//這兩句用於定義圖片的寬和高。!!
------------------------------------------------------------
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
說明:
這裏就是按照定義的圖片寬和高,開壹個緩沖區,用於日後存圖片。
-------------------------------------------------------------
Graphics g = image.createGraphics();
g.drawImage(img, 0, 0, width, height, null);
說明:
這個是按照定義的寬和高還有上面那個img,搞壹個畫筆(就是Graphics),因為緩沖區都開了,總得有東西往裏搞東西才行。image就是圖片緩沖區。
--------------------------------------------------------------
String stri = null;
//
if(addString.length()>14)
{
stri = addString.substring(1,14).concat("...");
}else
{
stri = addString;
}
//這壹句,我也不知道啥意思,就是往圖片裏添加的字符串。
--------------------------------------------------------------
//設置要畫的顏色為Green,GREEN是常量。
g.setColor(Color.GREEN);
//設置字體的大小樣式。(有註釋)
g.setFont(new Font("Courier", Font.PLAIN, width/10)); //字體,樣式,大小的設置
//字符串與字體所在的坐標。(有註釋)
g.drawString(getStr(stri), width - width*3/4, height - height/2);
//把剛剛搞出來的畫筆扔掉。銷毀!
g.dispose();
說明: 以上所有操作是,先開壹個圖片的緩沖區(就是在內存裏畫出壹個空的圖片),然後在這個內存中的圖片上添加壹些字,這樣就是準備出來壹個模版,然後壹會兒把妳給的圖片,再添加到這個圖片上。
=====================
File tempFile= new File(request.getRealPath("/")+"index\\" ,"kangzhw.jpg" );
說明:這裏新建立壹個文件對象,文件名就是kangzhw.jpg,這裏只是建立對象。
註: 從這裏往後,我感覺代碼有問題! 所以不解釋!
FileOutputStream os = new FileOutputStream(request.getRealPath("/")+"index\\"+"kangzhw.jpg");
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(os);
encoder.encode(image);
os.close();