java - 创建椭圆画笔图像的算法?

标签 java algorithm graphics java-2d

我需要能够接受椭圆(计算的)画笔参数,例如间距、硬度、圆度、角度和直径,然后根据这些属性计算位图图像。

有谁知道执行此操作的算法(或在哪里可以找到它)?本人图形编程经验有限,至今没找到。

最佳答案

这是您想要使用库的类型,很可能是 Java 2D API .它包括用于填充、描边、变换和过滤器的工具。它的模型类似于许多库,因为您可以使用运算符 moveTolineTocurveTo 来追踪路径,它们被抽象为 Ellipse2D;然后用绘图运算符填充或描边生成的路径。我强烈建议阅读 Java 2D 教程并了解不同部分如何组合在一起。

我会大致采取以下步骤来创建此图:

  • 计算模糊后旋转椭圆的最终尺寸。
  • 创建一个该大小的 BuferredImage 并调用其 createGraphics 方法来获取绘图上下文。
    • 旋转图形对象
    • 画椭圆
    • 用黑色填充
  • 实现高斯模糊滤镜。这不是内置在 API 中,但它包含一个用于执行称为 ConvolveOpyou can find 的过滤器的框架。一种用 Java 计算高斯核的算法。
  • 对图像应用滤镜,然后返回结果。

另一个选项可能是 Apache 的 Batik SVG 库,因为您可以声明式表达您想要的绘图(包括转换和过滤器)并为您栅格化它。

关于java - 创建椭圆画笔图像的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2443661/

相关文章:

java - UML:组件如何实现某些接口(interface)?

java - 使用正则表达式检查字符串是否只包含一位数字

algorithm - 距离矩阵的近似估计

c# - 如何从列表中删除连续的重复项

java - 如何向java函数添加转换

java - 通过拖动绘制形状

java - 如何使用 servlet 创建新帐户

Java 将 html 与 css+js 转换为 pdf

java - 失去焦点后无法取消对话框?

css - 你能在纯CSS中对图像进行keystone吗?