Java中也同样是这样。
但java提供了4个缩放的微调选项。
image.SCALE_SMOOTH
//平滑优先
image.SCALE_FAST//速度优先
image.SCALE_AREA_AVERAGING
//区域均值
image.SCALE_REPLICATE
//像素复制型缩放
image.SCALE_DEFAULT
//默认缩放模式
调用方法
Image
new_img=old_img.getScaledInstance(1024,
768,
Image.SCALE_SMOOTH)
得到一张缩放后的新图。
代码不完整,测试不了。/** * 旋转图片为指定角度 * * @param bufferedimage *目标图像 * @param degree *旋转角度 * @return */public static BufferedImage rotateImage(final BufferedImage bufferedimage, final int degree){int w= bufferedimage.getWidth()// 得到图片宽度。int h= bufferedimage.getHeight()// 得到图片高度。int type= bufferedimage.getColorModel().getTransparency()// 得到图片透明度。BufferedImage img// 空的图片。Graphics2D graphics2d// 空的画笔。(graphics2d= (img= new BufferedImage(w, h, type)).createGraphics()).setRenderingHint( RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR) graphics2d.rotate(Math.toRadians(degree), w / 2, h / 2)// 旋转,degree是整型,度数,比如垂直90度。graphics2d.drawImage(bufferedimage, 0, 0, null)// 从bufferedimagecopy图片至img,0,0是img的坐标。graphics2d.dispose() return img// 返回复制好的图片,原图片依然没有变,没有旋转,下次还可以使用。}看看别人的写法