/**
* 圖像縮放 - 參數指定目標圖縮放比例。
* @param srcImage 源圖像對象。
* @param xscale 圖像 x 軸(寬度)上的的縮放比例。
* @param yscale 圖像 y 軸(高度)上的的縮放比例。
* @param hints 重新繪圖使用的 RenderingHints 對象。
* @return 縮放后的圖像對象。
*/

public static BufferedImage scaleJ2D(BufferedImage srcImage, double xscale, double yscale, RenderingHints hints) ...{
AffineTransform affineTransform = new AffineTransform();
affineTransform.scale(xscale, yscale);
AffineTransformOp affineTransformOp = new AffineTransformOp(affineTransform, hints);
int width = (int)((double)srcImage.getWidth() * xscale);
int height = (int)((double)srcImage.getHeight() * yscale);
BufferedImage dstImage = new BufferedImage(width, height, srcImage.getType());
return affineTransformOp.filter(srcImage, dstImage);
}

/** *//**
* 圖像縮放 - 參數指定縮放后的目標圖寬高。
* @param srcImage 源圖像對象。
* @param dstWidth 目標圖的寬度。
* @param dstHeight 目標圖的高度。
* @param hints 重新繪圖使用的 RenderingHints 對象。
* @return 縮放后的圖像對象。
*/

public static BufferedImage scaleJ2D(BufferedImage srcImage, int dstWidth, int dstHeight, RenderingHints hints) ...{
float xscale = (float) dstWidth / (float) srcImage.getWidth();
float yscale = (float) dstHeight / (float) srcImage.getHeight();
return scaleJ2D(srcImage, xscale, yscale, hints);
}






































