智能助手网
标签聚合 SVG

/tag/SVG

hnrss.org · 2026-04-18 11:44:54+08:00 · tech

I found myself reaching for SF Symbols' 'Copy Image As…' quite often during agentic design sessions, so I made a command-line tool that the agent can use by itself. It exports Apple SF Symbols as SVG, PDF, or PNG. The vector paths come directly from macOS's symbol renderer. Internally it reaches a private ivar on NSSymbolImageRep to get the CUINamedVectorGlyph, draws into a CGPDFContext, then walks the PDF content stream back out as SVG `d` commands. The output matches what the system draws, rather than an approximation traced from rasters. A few things about it: - Every subcommand accepts `--json`, and `sfsym schema` returns a machine-readable description of the whole CLI. - Symbol enumeration reads the OS's Assets.car BOM tree, so the list of 8,300+ names stays current with macOS updates without a version table in the binary. - Each SVG ` ` carries a `data-layer` attribute, so you can retheme in CSS without touching geometry. It's been saving me a bunch of clicking. Please let me know if you have any other ideas for it. Comments URL: https://news.ycombinator.com/item?id=47812964 Points: 15 # Comments: 3

linux.do · 2026-04-17 10:43:10+08:00 · tech

QuiverAI 正式发布了其SVG生成模型的重大更新——Arrow 1.1。此次更新不仅在生成质量、指令遵循和模型效率上取得了突破,大幅降低的使用成本 Arrow 系列模型的初衷源于一个纯粹的理念:SVG应当通过代码有意识地生成,而非从像素中简单近似而来。 与传统的像素优化逻辑不同,Arrow 1.1 模拟了人类设计师的创作过程。它在生成时会对控制点、色彩和渐变进行深思熟虑的选择,而非仅仅追求视觉上的像素对齐。 作为 Arrow 1.0 的继任者,1.1 版本在整个工作流中展现了显著的性能提升: 在处理紧密间距、重复元素和复杂细节时,新模型表现出更强的连贯性,显著减少了视觉伪影。 Arrow 1.1 倾向于使用基础几何图形、文本和基础形状进行构建,减少了对复杂路径的过度依赖。这使得输出的 SVG 文件更易于手动编辑、检查和二次扩展。 模型对提示词的理解更加深刻,布局决策更加平衡,色彩运用也更具意图感。 针对需要极高精度的技术图表、精密插图等场景,QuiverAI 同步推出了 Arrow 1.1 Max。 该版本在保持核心优势的基础上,进一步强化了色彩还原的准确性和形状对齐的精度。虽然运行时间稍长且成本略高,但它能提供极其稳定的构图,最大限度地减少了后期人工修正的需求。 模型 生成价格 vectorization价格 Arrow 1.0 $0.30 $0.30 Arrow 1.1 $0.20 (↓33.3%) $0.15 (↓50%) Arrow 1.1 Max $0.25 $0.20 app.quiver.ai QuiverAI QuiverAI public beta QuiverAI Introducing Arrow 1.1, a step forward in SVG generation – QuiverAI Our most advanced models yet for generating structured, production-ready SVGs... 3 个帖子 - 3 位参与者 阅读完整话题

linux.do · 2026-04-16 23:46:34+08:00 · tech

提示词:画一个鹈鹕骑自行车的 svg 这感觉还没deepseek好呢?输出很快,开了max的思考 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 400" width="500" height="400"> <!-- 天空背景 --> <defs> <linearGradient id="sky" x1="0" y1="0" x2="0" y2="1"> <stop offset="0%" stop-color="#87CEEB"/> <stop offset="100%" stop-color="#E0F6FF"/> </linearGradient> <radialGradient id="sun" cx="0.3" cy="0.3"> <stop offset="0%" stop-color="#FFF7B2"/> <stop offset="100%" stop-color="#FFD966"/> </radialGradient> </defs> <rect width="500" height="400" fill="url(#sky)"/> <circle cx="80" cy="70" r="35" fill="url(#sun)" opacity="0.9"/> <!-- 草地 --> <rect x="0" y="355" width="500" height="45" fill="#7CC576"/> <path d="M0 355 Q 50 350 100 355 T 200 355 T 300 355 T 400 355 T 500 355" stroke="#5FB34F" stroke-width="2" fill="none"/> <!-- 自行车 --> <!-- 后轮 --> <circle cx="140" cy="310" r="45" fill="none" stroke="#2C2C2C" stroke-width="5"/> <circle cx="140" cy="310" r="6" fill="#2C2C2C"/> <g stroke="#888" stroke-width="1.5"> <line x1="140" y1="265" x2="140" y2="355"/> <line x1="95" y1="310" x2="185" y2="310"/> <line x1="108" y1="278" x2="172" y2="342"/> <line x1="172" y1="278" x2="108" y2="342"/> </g> <!-- 前轮 --> <circle cx="370" cy="310" r="45" fill="none" stroke="#2C2C2C" stroke-width="5"/> <circle cx="370" cy="310" r="6" fill="#2C2C2C"/> <g stroke="#888" stroke-width="1.5"> <line x1="370" y1="265" x2="370" y2="355"/> <line x1="325" y1="310" x2="415" y2="310"/> <line x1="338" y1="278" x2="402" y2="342"/> <line x1="402" y1="278" x2="338" y2="342"/> </g> <!-- 车架 --> <g stroke="#E74C3C" stroke-width="7" stroke-linecap="round" fill="none"> <line x1="140" y1="310" x2="245" y2="235"/> <line x1="245" y1="235" x2="370" y2="310"/> <line x1="245" y1="235" x2="230" y2="310"/> <line x1="140" y1="310" x2="230" y2="310"/> <line x1="245" y1="235" x2="255" y2="195"/> <line x1="370" y1="310" x2="330" y2="200"/> </g> <!-- 车把 --> <path d="M 310 190 Q 330 180 355 190" stroke="#2C2C2C" stroke-width="6" fill="none" stroke-linecap="round"/> <circle cx="308" cy="190" r="5" fill="#2C2C2C"/> <circle cx="357" cy="190" r="5" fill="#2C2C2C"/> <!-- 座椅 --> <ellipse cx="255" cy="190" rx="22" ry="7" fill="#2C2C2C"/> <path d="M 234 188 L 273 188 L 268 194 L 242 194 Z" fill="#444"/> <!-- 踏板 --> <circle cx="230" cy="310" r="8" fill="#333"/> <rect x="215" y="306" width="30" height="8" rx="2" fill="#555"/> <!-- 鹈鹕的腿(连接到踏板) --> <path d="M 245 205 Q 240 250 228 300" stroke="#FFA500" stroke-width="7" fill="none" stroke-linecap="round"/> <path d="M 265 205 Q 275 240 290 280" stroke="#E69500" stroke-width="7" fill="none" stroke-linecap="round"/> <!-- 蹼足 --> <ellipse cx="228" cy="308" rx="12" ry="5" fill="#FFA500"/> <ellipse cx="290" cy="282" rx="10" ry="4" fill="#E69500"/> <!-- 鹈鹕身体 --> <ellipse cx="250" cy="155" rx="62" ry="48" fill="#FFFFFF" stroke="#B8B8B8" stroke-width="2"/> <!-- 身体阴影 --> <ellipse cx="260" cy="170" rx="45" ry="25" fill="#F0F0F0" opacity="0.6"/> <!-- 翅膀 --> <path d="M 225 130 Q 185 125 180 165 Q 190 185 230 175 Q 245 160 240 140 Z" fill="#E8E8E8" stroke="#999" stroke-width="2"/> <path d="M 205 145 Q 195 155 200 170" stroke="#AAA" stroke-width="1.5" fill="none"/> <path d="M 215 140 Q 208 155 215 170" stroke="#AAA" stroke-width="1.5" fill="none"/> <!-- 脖子 --> <path d="M 290 125 Q 315 90 335 78" stroke="#FFFFFF" stroke-width="26" fill="none" stroke-linecap="round"/> <path d="M 290 125 Q 315 90 335 78" stroke="#B8B8B8" stroke-width="2" fill="none" stroke-linecap="round"/> <!-- 头 --> <circle cx="340" cy="72" r="26" fill="#FFFFFF" stroke="#B8B8B8" stroke-width="2"/> <!-- 头顶羽毛(一撮) --> <path d="M 330 50 Q 335 38 342 48" stroke="#DDD" stroke-width="3" fill="none"/> <path d="M 340 48 Q 346 36 352 50" stroke="#DDD" stroke-width="3" fill="none"/> <!-- 眼睛 --> <circle cx="350" cy="65" r="5" fill="#FFFFFF" stroke="#333" stroke-width="1"/> <circle cx="351" cy="66" r="3" fill="#2C2C2C"/> <circle cx="352" cy="65" r="1" fill="#FFFFFF"/> <!-- 鹈鹕招牌大嘴 --> <!-- 上喙 --> <path d="M 360 68 Q 395 64 425 72 Q 428 76 425 80 Q 395 78 360 76 Z" fill="#FFB84D" stroke="#D68910" stroke-width="2"/> <!-- 下喙和喉囊 --> <path d="M 360 78 Q 385 108 425 82 Q 428 85 425 88 Q 395 112 360 88 Z" fill="#FFCF6B" stroke="#D68910" stroke-width="2"/> <!-- 喉囊纹理 --> <path d="M 370 86 Q 385 100 410 92" stroke="#E8A838" stroke-width="1" fill="none"/> <path d="M 380 90 Q 395 102 415 94" stroke="#E8A838" stroke-width="1" fill="none"/> <!-- 鼻孔 --> <ellipse cx="375" cy="72" rx="1.5" ry="1" fill="#8B4513"/> <!-- 腮红(可爱的小装饰) --> <circle cx="325" cy="82" r="4" fill="#FFB6C1" opacity="0.5"/> <!-- 速度线(表现骑行动感) --> <g stroke="#FFFFFF" stroke-width="2" opacity="0.7" stroke-linecap="round"> <line x1="50" y1="180" x2="80" y2="180"/> <line x1="40" y1="210" x2="75" y2="210"/> <line x1="55" y1="240" x2="85" y2="240"/> </g> <!-- 小云朵 --> <g fill="#FFFFFF" opacity="0.85"> <ellipse cx="420" cy="90" rx="25" ry="10"/> <ellipse cx="410" cy="85" rx="18" ry="9"/> <ellipse cx="435" cy="85" rx="15" ry="8"/> </g> </svg> 11 个帖子 - 6 位参与者 阅读完整话题