inkscape 相关问题

关于编写Inkscape矢量图形应用程序脚本的编程问题,例如:使用Inkscape CLI作为图形转换工作流程的一部分。关于安装应用程序的问题应该在Super User上进行。有关使用该应用程序的问题应继续使用平面设计。

使用 pstoedit 将 pdf 转换为 dxf - 如何解决双边框问题?

我目前正在使用 pstoedit 将 pdf 文件转换为 dxf 文件。 这是我正在使用的 pstoedit 命令: pstoedit -f "dxf: -ctl -mm" 输入.pdf 输出.dxf 我从文件中获取文件output.dxf

回答 1 投票 0

Inkscape 导出到 Core Graphics?

我可以将 inkscape SVG 文件导出到 iPhone 核心图形吗? 或者也许是插件/导出工具?

回答 4 投票 0

如何使用 Inkscape 的命令行工具跟踪 PNG 图像并生成彩色 SVG 文件?

我希望利用 Inkscape 的命令行工具对 PNG 文件执行图像跟踪并生成彩色 SVG 文件作为输出。我尝试过使用 Potrace,但它只能创建黑色和白色...

回答 1 投票 0

如何在不增加形状宽度或高度的情况下增加 inscapke 中的“填充”宽度

我在 Inkscape 中获得了自定义形状 W 是形状的宽度,H 是高度。红色部分是描边,绿色部分是填充。我想保持 W 和 H 相同并增加宽度...

回答 1 投票 0

在 Inkscape 中使用 Next 生成器扩展时收到错误

我按照解压缩文件并将其放入扩展文件的说明在 Inkscape 中安装了下一个生成器扩展。 当我运行它时,我收到此错误无法合并 PDF 文件,请

回答 1 投票 0

如何高效地将大型Matlab图形导出到SVG编辑器Inkscape

我已经生成了一个matlab图形(大约80兆字节)。该图需要在 SVG 编辑器中进行一些手动编辑。但是,当我将 matlab 图形导出到 INkscape 时,它会变成 502 Mb 文件 (.svg) 并且...

回答 1 投票 0

是否可以只删除只有填充而没有描边的形状?

我只想保留此地图上没有填充的形状:https://commons.wikimedia.org/wiki/File:Antarctica_in_the_World_(yellow).svg 显然,我不想删除所有其他的...

回答 1 投票 0

Inkscape cli:选择所有填充特定颜色的文本对象并将其全部对齐到底部

我有一个 svg 文件,其中包含许多填充颜色 0070c0 的文本对象。它还包含其他对象。 我想通过 CLI 仅选择具有该填充的文本对象,然后对齐

回答 1 投票 0

错误:导出序数太大:104116

我从源代码构建 Inkscape: $ cmake -G Ninja -DCMAKE_BUILD_TYPE=调试 .. $ 忍者安装 它返回错误如下。 [1002/1006] 构建 CXX 对象 src/CMakeFiles/inkscape_bas...

回答 2 投票 0

是否可以检测 SVG 中的独特颜色?

我想访问 SVG 可能使用的所有颜色。我已经使用过 Convert,但想要一些关于如何找出 SVG 可能包含的独特颜色的指导。 这是 PHP ...

回答 3 投票 0

数控Arduino uno扩展板3.0

我最近买了一台 CNC。我下载了 Json 实用程序服务器,我的机器在 chilipeppr 中连接,但在 planner 下它仍然显示未知。 完成设计后,模拟器显示它可以工作,但是......

回答 1 投票 0

Inkscape 测量工具给出了意想不到的结果

我正在运行 10.14.6 的 iMac 上使用 Inkscape 1.1。 我正在制作一个 4 行 7 列的网格。每个单元的尺寸为 39 毫米 X 39 毫米,行之间有 5.3 毫米的线。 我已经得到了...

回答 1 投票 0

无法在 Inkscape 中另存为 xaml

我试图以 XAML 格式保存 SVG 以在我的 C#-WPF 项目中使用它,但从今天起,“Microsoft xaml”选项没有显示在“另存为”窗口中 输入图像描述...

回答 1 投票 0

将 SVG 文件转换为嵌入 base64 CSS 字体的 PDF 或 JPG

我有一堆 .svgz 文件需要转换为 PDF,或者,如果不可能,先转换为 JPG,然后转换为 PDF。 所有这些文件都使用嵌入在文件中的自定义字体,使用@font-face base64,...

回答 1 投票 0

如何使用inkscape命令行linux将svg转换为pdf?

我正在尝试通过在Linux上使用python执行inkscape命令行将svg文件转换为pdf,如下所示: 结果=subprocess.run(["inkscape",output_path+"/"+"final.svg&q...

回答 1 投票 0

在 Inkscape v1.2 中打开 SVG 时,白色字体变成黑色

所以我的 github 上有我学校的这个神奇的 SVG。 当我在 Github 上预览它时,它的字体是白色的。当我在 Inkscape v0.92 中打开它时,它有白色字体。 然而,当我尝试在 In...

回答 1 投票 0

在 Inkscape 中批量将 SVG 转换为 PNG 不起作用

我想将文件夹 C:\Users\Eric\Desktop\svg 中的多个 SVG 文件转换为名称为 [SVG 文件名].svg.png 的 512x512 PNG 文件。 我尝试了以下命令: for /f %f in ('dir /b "C:\Us...

回答 3 投票 0

尝试将 SVG 图像添加到 xcode 资源时出错

我已使用 vectorizer.io 网站将图像从 PNG 转换为 SVG。使用 Chrome 浏览器和 GIMP 查看时,SVG 图像看起来不错。但是当我尝试将其添加到资产文件夹中时...

回答 2 投票 0

根据clipPath元素更改要剪切的SVG路径

我有一个如下所示的 SVG: 我有一个如下所示的 SVG: <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 576 576"> <defs> <style>...</style> <clipPath id="clip-path"> <rect class="cls-1" x="0.02" width="575.04" height="576"/> </clipPath> </defs> <g class="cls-2"> <path class="cls-3" d="M137.91-147.28c-4-1.67-8.25-3.46-12.37-3.86-5.43-.53-9.26,1.73-12.55,5a18.75,18.75,0,0,0-4.69-9.42,19.23,19.23,0,0,0-6.45-... <path class="cls-4" d="M.08,502.59c-.79-5.67-6.22-4.3-5.81-.22a17.15,17.15,0,0,1,0,2.95c-.22,2.82-1.46,7.6-5,7.61-1.35,0-2.61-1-3.12... ... 我想改变它: 没有分组(这很简单) 更改 path、rect 等元素,以便根据 clipPath 元素中的内容进行剪辑。 clipPath 不应再出现在 SVG 中(因为不再需要它) 我试过这个: inkscape --actions \ "select-all:groups; SelectionUnGroup; ObjectUnSetClipPath; export-filename: output.svg; export-plain-svg; export-do;" \ Decorations.svg 这会删除分组,但 path 元素不会被剪裁。 clipPath 仍然存在。 ObjectUnSetClipPath 将删除剪辑属性 clip-path="url(#clip-path)" – 而不是 <def> 剪辑路径本身。 但是如果你的clipPath定义被删除,你就不能剪辑任何元素。 function stripClip(el){ let clipPaths = document.querySelector(el).querySelectorAll('clipPath'); if(clipPaths.length){ clipPaths.forEach(function(item, i){ item.remove(); } ) } } svg{ width: 20vw; } .clipped{ clip-path: url(#clip-path2); } <p><button onclick="stripClip('#svg1')" >remove ClipPath</button></p> <svg id="svg1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 36 36"> <defs> <style>...</style> <clipPath id="clip-path"> <rect class="cls-1" x="10" width="36" height="18"/> </clipPath> </defs> <g class="cls-2"> <path clip-path="url(#clip-path)" d="M18 2.0845 a 15.9155 15.916 0 0 1 0 31.83 a 15.916 15.916 0 0 1 0 -31.83z" fill="red" /> <rect clip-path="url(#clip-path)" x="0" y="0" width="10" height="25" /> </g> </svg> <svg id="svg2" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 36 36"> <defs> <style>...</style> <clipPath id="clip-path2"> <rect class="cls-1" x="10" width="36" height="18"/> </clipPath> </defs> <g class="cls-2"> <path class="clipped" d="M18 2.0845 a 15.9155 15.916 0 0 1 0 31.83 a 15.916 15.916 0 0 1 0 -31.83z" fill="red" /> <rect class="clipped" x="0" y="0" width="10" height="25" /> </g> </svg> 编辑:使用 paper.js 获取 svg 交叉路径 诚然,这不是最方便的方法,但它是可能的: 除了 paper.js 之外,我们还需要一些脚本/帮助程序将 svg 形状(圆形、矩形等)转换为 <path> 元素(我正在使用 'pathThatSvg' ,因为 paper.js 只能基于 2 个路径元素计算新的交叉路径,如下所示: var intersectionPath = path1.intersect(clipPath); 基于这个答案 var svg = document.querySelector("#svgIntersect"); // set auto ids for processing function setAutoIDs(svg) { var svgtEls = svg.querySelectorAll( "path, polygon, rect, circle, line, text, g" ); svgtEls.forEach(function (el, i) { if (!el.getAttribute("id")) { el.id = el.nodeName + "-" + i; } }); } setAutoIDs(svg); // convert shapes to paths function shapesToPath(svg) { pathThatSvg(svg.outerHTML).then((converted) => { var tmp = document.createElement("div"); tmp.innerHTML = converted; svg.innerHTML = tmp.querySelector("svg").innerHTML; }); } shapesToPath(svg); function intersectPath(svg, decimals=2) { // init paper.js and add canvas canvas = document.createElement('canvas'); canvas.id = "canvasPaper"; canvas.setAttribute('style','display:none') document.body.appendChild(canvas); paper.setup("canvasPaper"); // process clipped elements var all = paper.project.importSVG(svg, function (item, i) { item.position = new paper.Point( item.bounds.width / 2, item.bounds.height / 2 ); //item.scale(0.5, new Point(0, 0) ) var items = item.getItems(); var ids = item._namedChildren; var groups = item.children; groups.forEach(function (gr, i) { var group = gr["_namedChildren"]; if (group) { for (key in group) { //get clip path var clip = group["clipPath"][0]; if (key !== "clipPath") { var el = group[key][0]; //get intersection path and generate d commands var elClipped = el.intersect(clip); var elClippedD = elClipped .exportSVG({ precision: decimals }) .getAttribute("d"); // select path by id and overwrite d attribute var newEl = svg.querySelector("#" + key); newEl.setAttribute("d", elClippedD); } } } }); // remove clip defs and attributes var clippedEls = svg.querySelectorAll("[clip-path]"); clippedEls.forEach(function (clippedEl, e) { clippedEl.removeAttribute("clip-path"); }); svg.querySelector("defs").remove(); svg.classList.add("svg-intersect"); console.log(svg.outerHTML) }); } svg{ border: 1px solid #ccc; display:inline-block; width:200px; } .svg-intersect path{ stroke:red; stroke-width: 0.25; } <script src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.0/paper-full.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/path-that-svg@1.2.4/dist/pathThatSvg.umd.min.js"></script> <p> <button type="button" onclick="intersectPath(svg)">get Path Intersect</button> </p> <svg id="svgIntersect" viewBox="0 0 100 100"> <defs> <clipPath id="clipPath"> <circle cx="25" cy="25" r="25"/> </clipPath> </defs> <g id="clipGroup" clip-path="url(#clipPath)"> <circle fill="#999" data-id="circle" cx="25" cy="25" r="25" /> <rect fill="#555" id="rect" x="25" y="25" width="50" height="50" /> </g> <g clip-path="url(#clipPath)"> <circle fill="#444" id="circle2" cx="66" cy="25" r="25" /> <rect fill="#22" id="rect2" x="15" y="12.5" width="20" height="75" /> </g> </svg>

回答 1 投票 0

填充 inkscape 中具有相同编号的区域

我想用特定的颜色为图片中的所有编号区域着色。例如,我想将标有数字 3 的所有内容填充为红色。这可能吗? 如果我需要提供更多详细信息,我

回答 0 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.