为了账号安全,请及时绑定邮箱和手机立即绑定

蜡染 将 SVG 转换为 JPEG

蜡染 将 SVG 转换为 JPEG

米脂 2022-08-17 17:25:42
JPEGTranscoder transcoder = new JPEGTranscoder();String urlPath = "D:/CRD_Material/Scheme/scheme-2.svg";String s1 = "<svg width='350' height='450' xmlns='http://www.w3.org/2000/svg'  xmlns:xlink='http://www.w3.org/1999/xlink'>"            + "<!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->  "            + "<g><title>Layer 1</title> "            + " <rect fill='none' stroke='#000000' stroke-width='2' stroke-linejoin='none' stroke-linecap='none' x='18' y='23' width='213' height='352' id='svg_6'/>"            + "   <line fill='none' stroke='#000000' stroke-width='2' stroke-linejoin='none' stroke-linecap='none' x1='17' y1='336' x2='230' y2='336' id='svg_7'/>"            + "   <line fill='none' stroke='#000000' stroke-width='2' stroke-linejoin='none' stroke-linecap='none' x1='20' y1='58' x2='231' y2='58' id='svg_8' stroke-dasharray='2,2'/>"            + "   <rect id='svg_3' height='65' width='181' y='74' x='31' stroke-width='2' stroke='#000000' fill='#0'/>  </g> </svg>";FileWriter writer = new FileWriter("D:/PDFBox/test.svg");writer.write(s1);writer.close();transcoder.addTranscodingHint(JPEGTranscoder.KEY_QUALITY, new Float(1.0));TranscoderInput input = new TranscoderInput(new FileInputStream("D:/PDFBox/test.svg"));OutputStream ostream = new FileOutputStream("D:/PDFBox/out.jpg");TranscoderOutput output = new TranscoderOutput(ostream);transcoder.transcode(input, output);ostream.close();System.exit(0);这是我的代码,我想将SVG字符串转换为JPEG图像。运行此代码时,我收到以下错误:org.w3c.dom.DOMException: <unknown>:The attribute "stroke-linecap" represents an invalid CSS value ("none").Original message:The "none" identifier is not a valid value for the "stroke-linecap" property有人请帮帮我..提前致谢
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

的唯一有效值为 、 和 ,例如,请参阅此处。缺省值为 。因此,要么更改为其中之一,要么删除所有位置的段。stroke-linecapbuttroundsquarebuttnonestroke-linecap='none'

您的 svg 代码也存在类似的问题,请参阅此处的有效值。stroke-linejoin

最后也是不正确的。如果需要黑色,请使用 或 .fill='#0'fill='#000000'fill='black'

因此,新字符串可以是

String s1 = "<svg width='350' height='450' xmlns='http://www.w3.org/2000/svg'  xmlns:xlink='http://www.w3.org/1999/xlink'>"
        + "<!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->  "
        + "<g><title>Layer 1</title> "
        + " <rect fill='none' stroke='#000000' stroke-width='2' x='18' y='23' width='213' height='352' id='svg_6'/>"
        + "   <line fill='none' stroke='#000000' stroke-width='2' x1='17' y1='336' x2='230' y2='336' id='svg_7'/>"
        + "   <line fill='none' stroke='#000000' stroke-width='2' x1='20' y1='58' x2='231' y2='58' id='svg_8' stroke-dasharray='2,2'/>"
        + "   <rect id='svg_3' height='65' width='181' y='74' x='31' stroke-width='2' stroke='#000000' fill='#000000'/>  </g> </svg>";



查看完整回答
反对 回复 2022-08-17
  • 1 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号