gpt4 book ai didi

java - 如果 Shape 不在屏幕上,是否执行 Graphics2D.draw?

转载 作者:行者123 更新时间:2023-12-01 09:51:22 39 4
gpt4 key购买 nike

我目前正在编写一些渲染代码,我想知道 Graphics2D.draw(Shape) 在屏幕上和屏幕外的执行方式是否完全相同。如果是,有没有办法检查我的形状(Line2D)是否在屏幕上?

最佳答案

取决于你所说的“完全相同”是什么意思。

就代码中对 draw-something() 的调用而言,它们正常发生。不同之处在于,在渲染链中的某个位置,检测到形状实际上并未落入实际渲染区域的情况,并且实际上没有为该形状输出任何像素。

至于检测某些内容是否“在屏幕上”,这取决于您对屏幕的定义。合理地,您可以将其定义为 Graphics 对象所描述的区域(这很可能只是屏幕的一部分,或者完全在屏幕之外,它可能是一台打印机!)。

如果您没有更改 Graphics 实例的剪辑区域,getClipBounds() 将为您提供实际渲染图形的矩形。如果您的图形来自 Swing 组件,您还可以用组件尺寸替换渲染区域。

一旦你有了实际的矩形,你就可以利用 Shape 提供的方法来检测碰撞(contains()、intersects() 等)。

关于java - 如果 Shape 不在屏幕上,是否执行 Graphics2D.draw?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37577345/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com