当前位置: 源码素材网 » Java教程 » 详情页

Java缩放图片,智能计算图片合适大小,返回宽度和高度

  •   时间:2018-11-15
  • 概述:缩放图片

在基于Java的图片缩放中,这是个比较有用的代码,通过指定大小和图片的大小,计算出图片缩小的合适大小,编写函数来实现,相关参数及函数代码如下:

/**
 * @param width 指定的宽度
 * @param height 指定的高度
 * @param image 图片文件
 * @return 返回宽度、高度的int数组
 */
public static int[] getSize(int width, int height, Image image) {
    int targetWidth = image.getWidth(null);
    int targetHeight = image.getHeight(null);
    double scaling = getScaling(targetWidth, targetHeight, width, height);
    long standardWidth = Math.round(targetWidth * scaling);
    long standardHeight = Math.round(targetHeight * scaling);
    return new int[] { Integer.parseInt(Long.toString(standardWidth)), Integer.parseInt(String.valueOf(standardHeight)) };
}

如果要实现通过指定的比例和图片对象,返回一个放大或缩小的宽度、高度,可以使用下面这个函数,附有参数说明:

/**
 * @param scale 缩放比例
 * @param image 图片对象
 * @return 返回宽度、高度
 */
public static int[] getSize(float scale, Image image) {
    int targetWidth = image.getWidth(null);
    int targetHeight = image.getHeight(null);
    long standardWidth = Math.round(targetWidth * scale);
    long standardHeight = Math.round(targetHeight * scale);
    return new int[] { Integer.parseInt(Long.toString(standardWidth)), Integer.parseInt(String.valueOf(standardHeight)) };
}
 
public static int[] getSize(int width, Image image) {
    int targetWidth = image.getWidth(null);
    int targetHeight = image.getHeight(null);
    long height = Math.round((targetHeight * width) / (targetWidth * 1.00f));
    return new int[] { width, Integer.parseInt(String.valueOf(height)) };
}
 
public static int[] getSizeByHeight(int height, Image image) {
    int targetWidth = image.getWidth(null);
    int targetHeight = image.getHeight(null);
    long width = Math.round((targetWidth * height) / (targetHeight * 1.00f));
    return new int[] { Integer.parseInt(String.valueOf(width)), height };
}

    相关声明:

      若“Java缩放图片,智能计算图片合适大小,返回宽度和高度”有损您的权益,请告之我们删除内容。
      部分文章来源于网络,版权归原作者所有。