图像缩放是我们常常用到的一个操作,利用程序来讲原理很好理解。
第一:拿到原始图片的宽度和高度。
第二:根据缩放比例获得新图片的宽度和高度。
第三:用例原始图片的像素获得新的图片。
public final BufferedImage getResizePicture(BufferedImage originalPic,
double bo) {
// 获得原始图片的宽度。
int originalImageWidth = originalPic.getWidth();
// 获得原始图片的高度。
int originalImageHeight = originalPic.getHeight();
// 根据缩放比例获得处理后的图片宽度。
int changedImageWidth = (int) (originalImageWidth * bo);
// 根据缩放比例获得处理后的图片高度。
int changedImageHeight = (int) (originalImageHeight * bo);
// 生成处理后的图片存储空间。
BufferedImage changedImage = new BufferedImage(changedImageWidth,
changedImageHeight, BufferedImage.TYPE_3BYTE_BGR);
// double widthBo = (double) yourWidth / originalImageWidth;
// double heightBo = (double) yourHeightheight / originalImageHeight;
// 宽度缩放比例。
double widthBo = bo;
// 高度缩放比例。
double heightBo = bo;
AffineTransform transform = new AffineTransform();
transform.setToScale(widthBo, heightBo);
// 根据原始图片生成处理后的图片。
AffineTransformOp ato = new AffineTransformOp(transform, null);
ato.filter(originalPic, changedImage);
// 返回处理后的图片
return changedImage;
}
相关文章
Java图像图片 边缘检测 http://javapub.iteye.com/blog/685468
Java图像变灰 http://javapub.iteye.com/blog/687082
Java 给图片增加 水印图片 水印文字 [url]Java 给图片增加 水印图片 水印文字[/url]
Java图像渐变 http://javapub.iteye.com/blog/736799