Graphics2D - 如何在渲染时裁剪生成的图像

Graphics2D - how do I crop the generated image when rendering

我正在 Java 中渲染到 Graphics2D 对象。我的渲染使用 8-1/2 x 11 图像的坐标,即标准 sheet 纸(如果相关,我的单位是缇)。

我有一个例子,我想渲染一个 6-1/2 x 9 的图像——基本上是没有边距的页面内容。简单的解决方案是从每个 x,y 坐标中减去 1440 (1")。

但是,有没有一种方法可以同时设置变换和裁剪,所以我在创建 Graphics2D 时设置了一次,然后所有内容都发生了移动,视图之外的任何内容都被裁剪掉了。

我想要裁剪,因为 Graphics2D 对象可以用于 PostScript 或 SVG 输出,因此视图外的项目会有问题。

谢谢 - 戴夫

要移动原点,请使用 Graphics2D.translate(- 左,- 上)。为了限制范围,这是在您创建底层位图时完成的 - 任何超出边缘的内容都不会被渲染。