我需要能够接受椭圆(计算)画笔参数,例如间距,硬度,圆度,角度和直径,然后根据这些属性计算位图图像。
有人知道这个算法(或我能找到它的地方)吗?我在图形编程方面经验有限,到目前为止我一直找不到它。
答案 0 :(得分:1)
这是你想要使用库的东西,很可能是Java 2D API。它包括填充,笔触,变换和过滤器的功能。它的模型类似于许多库,因为您使用运算符moveTo
和lineTo
或curveTo
来追踪路径,这些路径以Ellipse2D
等形状抽象;然后用paint操作符填充或描边结果路径。我强烈建议您阅读Java 2D教程并了解不同部分如何组合在一起。
我将大致采取以下步骤来创建此绘图:
BuferredImage
并调用其createGraphics
方法获取绘图上下文。
ConvolveOp
的过滤器的框架,以及一个用于在Java中计算高斯内核的算法。另一个选项可能是Apache的you can find SVG库,因为您可以声明性地表达您想要的绘图(包括转换和过滤器)并为您进行栅格化。
答案 1 :(得分:0)
可以在此处找到一个非常有用的椭圆公式列表:http://xahlee.org/SpecialPlaneCurves_dir/Ellipse_dir/ellipse.html
考虑每个公式对位图中单个像素的含义(无论是在椭圆内/外,是否在边缘附近)以及哪些属性对您有用。