如何从缓冲图像中获取子图像

Jag*_*gan 9 java image

我们可以使用BufferedImage获取子图像getSubimage(int,int,int,int),但我的问题是我希望通过传递double值作为width和获得精确的子图像(矩形图像)height.那有什么选择吗?

cam*_*ckr 9

将double值转换为int.

getSubImage((int)x, (int)y, (int)width, (int)height);
Run Code Online (Sandbox Code Playgroud)

并且正如@camickr所提到的那样,内部单元仍将由整数像素值表示.如果每个单元格是5像素的正方形.第一个单元格从(0,0)开始,第二个单元格从(5,0)开始等...

  • @Jagan,内部单元格仍将由整数像素值表示.如果每个单元格是5像素的正方形.第一个单元格从(0,0)开始,第二个单元格从(5,0)开始等... (5认同)
  • 进一步解释您期望它做什么,因为无法返回分数像素.对于大多数使用情况,舍入到最近的像素是更好的解决方案,然后用于计算昂贵的解决方案,其略微缩放图像(以排列像素)导致质量损失. (2认同)