我实现了改变图片大小,但是分辨率有很大的影响,求教JAVA中的类或者算法解决这个问题,使之可以改变图片大小,同时不影响图片质量java图片算法

解决方案 »

  1.   

    java自动生成略缩图
      

  2.   


        /**
         * 图片缩放
         *
         * @param image 源图像对象。
         * @param xscale 图像 x 轴(宽度)上的的缩放比例。
         * @param yscale 图像 y 轴(高度)上的的缩放比例。
         * @return 缩放后的图像对象。
         */
        public static BufferedImage zoomImage(BufferedImage image, double xscale, double yscale) {
            int width = (int) ((double) image.getWidth() * xscale);
            int height = (int) ((double) image.getHeight() * yscale);
            AreaAveragingScaleFilter areaAveragingScaleFilter = new AreaAveragingScaleFilter(width, height);
            FilteredImageSource filteredImageSource = new FilteredImageSource(image.getSource(), areaAveragingScaleFilter);
            BufferedImage result = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
            Graphics g = result.getGraphics();
            Canvas canvas = new Canvas();
            g.drawImage(canvas.createImage(filteredImageSource), 0, 0, null);
            return result;
        }
      

  3.   

    AreaAveragingScaleFilter比较好 一般的awt也行