【问题标题】:Retrieve new width and height of BufferedImage bounds after a AffineTransform.rotate()在 AffineTransform.rotate() 之后检索 BufferedImage 边界的新宽度和高度
【发布时间】:2013-06-12 11:05:52
【问题描述】:

我正在开发一种图像编辑器,其中包括捕捉到其他元素的功能。捕捉通过使用图像的宽度和高度来工作。

但是,在 AffineTransform.rotate() 之后,图像的宽度和高度不再是渲染图像的实际边界,因此捕捉失败。

确定包含旋转图像的矩形区域的宽度和高度的最佳方法是什么?

【问题讨论】:

  • 这个问题好像是前几天问的。是你吗?
  • ...对不起,我的意思是this(第三次幸运...又在哪里睡觉?最好检查谷歌地图...)
  • 试试affineTransform.createTransformedShape(new Rectangle(width, height)).getBounds()
  • @AndrewThompson 这是我第一次在 stackoverflow 上提出问题 :) 我确实搜索了类似的问题,但找不到合适的问题。
  • affineTransform.createTransformedShape(new Rectangle2D.Double(width, height)).getBounds2D()

标签: java rotation bufferedimage bounds affinetransform


【解决方案1】:

对于int

affineTransform.createTransformedShape(new Rectangle(width, height))
        .getBounds();

对于double

affineTransform.createTransformedShape(
        new Rectangle2D.Double(width, height)).getBounds2D();

【讨论】:

    猜你喜欢
    • 2022-12-12
    • 2020-01-16
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多