嗨,我目前正在开发一个 Java 应用程序,我必须使用 Canvas、Graphics 等进行一些绘制。
因此,如果我单击一个点并将其拖过,它之间应该有一条线(想想在油漆中画一条线)。
我目前正在使用fillRect,问题是,有没有办法从右到左填充矩形?还是我必须为此明确创建解决方法?
fillRect()
方法需要四个参数,x
, y
, width
, height
。你应该做的只是计算这些参数的值。如果你想从右到左绘制填充矩形,你只需要随着鼠标移动而减少x
和增加。width
而已。
添加到 ntalbs 的优秀答案(+1)。
基本上,当用户单击一个点时,您需要将其存储为锚点。当他们拖动鼠标时,您需要确定鼠标拖动的方向。
如果 click.x > drag.x,则 drag.x 成为矩形的 x 参数,否则为 click.x。
宽度和高度很简单确定为单击和拖动点之间的差异(考虑哪个更大;))