用Direct2D绘制SVG (3)

SVG Filter 和 Direct2D Filter对应关系,越做越心惊,莫非小小软又在抄袭标准?

https://developer.mozilla.org/zh-CN/docs/Web/SVG/Element
<feBlend>               CLSID_D2D1Blend
<feColorMatrix>         CLSID_D2D1ColorMatrix
<feComponentTransfer>     
        https://blog.csdn.net/yhdsbyhdsb/article/details/45919877
        CLSID_D2D1TableTransfer
        CLSID_D2D1DiscreteTransfer
        CLSID_D2D1LinearTransfer
        CLSID_D2D1GammaTransfer

<feComposite>           CLSID_D2D1Composite
<feConvolveMatrix>      CLSID_D2D1ConvolveMatrix
<feDiffuseLighting>     CLSID_D2D1DistantDiffuse(待尝试)
<feDisplacementMap>     CLSID_D2D1DisplacementMap
<feFlood>               CLSID_D2D1Flood
<feFuncA>               n/a
<feFuncB>               n/a
<feFuncG>               n/a
<feFuncR>               n/a
<feGaussianBlur>        CLSID_D2D1GaussianBlur
<feImage>               n/a   ID2D1BitmapBrush ??

 

to be continue...

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Java 可以使用 Batik 库来绘制 SVG。Batik 是一个开源的 Java 库,用于处理 SVG 文件。它提供了一组 API,可以将 SVG 文件转换为 Java2D 命令,以便在 Java 应用程序中显示和操作 SVG 图像。 以下是一个简单的例子,演示如何使用 Batik 库在 Java 中绘制 SVG: ```java import org.apache.batik.dom.svg.SVGDOMImplementation; import org.w3c.dom.DOMImplementation; import org.w3c.dom.Document; import org.w3c.dom.Element; import java.awt.Color; import java.awt.Graphics2D; import java.awt.geom.Rectangle2D; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.Writer; public class SVGDemo { public static void main(String[] args) throws Exception { // 创建 SVG 文档 DOMImplementation domImpl = SVGDOMImplementation.getDOMImplementation(); Document document = domImpl.createDocument(SVGDOMImplementation.SVG_NAMESPACE_URI, "svg", null); Element svgRoot = document.getDocumentElement(); // 绘制一个矩形 Element rectangle = document.createElementNS(SVGDOMImplementation.SVG_NAMESPACE_URI, "rect"); rectangle.setAttributeNS(null, "x", "10"); rectangle.setAttributeNS(null, "y", "10"); rectangle.setAttributeNS(null, "width", "100"); rectangle.setAttributeNS(null, "height", "50"); rectangle.setAttributeNS(null, "fill", "red"); svgRoot.appendChild(rectangle); // 保存 SVG 文件 FileOutputStream fos = new FileOutputStream("output.svg"); Writer out = new OutputStreamWriter(fos, "UTF-8"); document.write(out); out.flush(); out.close(); } } ``` 这个例子创建了一个 SVG 文档,并在其中绘制了一个红色矩形。最后将 SVG 文件保存到 output.svg 文件中。 注意,这个例子只是一个简单的演示,实际上可以使用 Batik 库绘制复杂的 SVG 图像。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值