【问题标题】:Is there a way to scale down a BufferedImage有没有办法缩小 BufferedImage
【发布时间】:2013-07-31 12:21:09
【问题描述】:

我尝试使用仿射变换来缩小 BufferedImage,但我只设法放大图像,并没有像我需要的那样缩小它。

这是我的放大代码。

public BufferedImage Scale(){
    BufferedImage after = new BufferedImage(before.getWidth(), before.getHeight(), BufferedImage.TYPE_INT_ARGB);
    AffineTransform at = new AffineTransform();
    at.scale(-2.0, -2.0);
    AffineTransformOp scale = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR);
    after = scale.filter(before, after);
    return after;
}

【问题讨论】:

    标签: java image scale bufferedimage affinetransform


    【解决方案1】:

    要缩小比例,请使用 (0.0, 1.0) 范围内的比例,而不是负数。

    当您应用具有比例 (xScale, yScale) 的缩放仿射变换时,新尺寸为 (imgWidth*xScale, imgHeight*yScale)。

    【讨论】:

    • 0.0 完全杀死它,但现在我正在使用at.scale(0.3, 0.3)
    【解决方案2】:

    如果将其绘制到图形上下文中,则可以在 drawImage 调用中指定新的宽度和高度。

    【讨论】:

      猜你喜欢
      • 2013-01-11
      • 1970-01-01
      • 2015-05-22
      • 1970-01-01
      • 2021-02-22
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多