SVG開發包, 20 個有用的 SVG 工具,提供更好的圖像處理


20 個有用的 SVG 工具,提供更好的圖像處理

SVG 現正在 Web 設計領域變得越發流行, 你可以使用 Illustrator 或者 Inkscape 來創建 SVG 圖像。 但當進行 Web 設計時,我們還需要做一些優化來使得 SVG 變得更加輕量。

下面介紹的 20 個工具,可以幫助你快速有效的創建 SVG 圖像。現有的在線工具已經可以幫助我們進行優化、轉換、新建模式等工作。

更詳細的介紹,參見:How To Create SVG Animation Using CSS

交互式 SVG 坐標系統

設計 SVG,離不開它的坐標系統。這是一個由 Sara Souiden 編寫的超贊的交互工具,可以幫助你理解 SVG 坐標系統是怎么一回事。 使用 SVG 的 viewBox 和 preserveAspectRatio,也就是下圖所示的粉色線和橙色線,以及旁邊的標尺,你可以在折騰的過程中學習到 SVG 坐標是如何工作的。

b64

b64 是一個通過將圖像格式轉換為 base64 來進行優化的小工具。 你可以直接把你的 SVG 圖像(或者 JPG 和 PNG 也行)扔進去,然后直接把結果作為 CSS 弄到你的網站上就行了。

SVGO

默認的 SVG 包含了許多可刪除的不必要的信息,刪除這些東西不會影響圖像本身。如果你想刪除關於編輯器元數據、注釋或者隱藏的節點,你可以用 SVGO。

你可以通過 npm 來安裝 SVGO 

$ [sudo] npm install -g svgo

也可以使用 GUI 版本,這樣你就可以愉快的拖拖拖了。

SVG OMG

SVG OMG 將 SVGO 的命令行包裝成了一個帶 GUI 的版本,你可以簡單的通過點點按鈕來打開和關閉特性,最后你導出一下圖片或者代碼就行了。

SVG Now

當你工作在 Illustrator 上時,輸出的 SVG 包含許多並不需要的信息。使用這個工具你可以從你的 Illustrator 右邊得到優化版本的導出 SVG 。這個工具在面板上添加了一些優化 SVG 選項。你可以從Creative Cloud Add-ons page 取得 SVG Now。

 

 

 

SVG to PNG converter

想要把輸出的 SVG 文件轉換成 PNG 格式?不用打開類似 Illustrator 這樣的應用就能做?使用這個 SVG 到 PNG 轉換工具可以得到 PNG 格式的輸出圖像,並且如果你需要的話還能得到 PNG 的 Base64 數據 URI 。

 

SVG Circus

如果你認為加載動畫很酷,那么現在你可以通過 SVG Circus 來簡單地處理 SVG。這個工具可以讓你制作自己的加載器,旋轉器,或者任何類似的循環動畫。設置‘角色’,位置,尺寸,顏色和其他形式的面板,之后輸出就可以得到結果。

SVG Sprite

SVG Sprite 是一個Node.js 模塊, 可以優化一大堆 SVG 文件,並烤制成 SVG sprite-types,帶有傳統的背景 CSS sprites 或者前景圖片,SVG stacks 以及其他的。

Quasi

使用 quasi,你可以生成如下看到的 Quasicrystal  圖片。這個生成器只是試驗性的,但是結果卻是很酷。你可以通過改變選項值試用一下,然后使用'Save SVG'按鈕下載下來。

Plain Pattern

使用 SVG 創圖案從來就不是簡單而很有趣的事情。上傳你的圖片,按比例縮小或改變間隔,旋轉和重新着色,直到你得到一個漂亮的圖案。你可以在下載之前預覽結果。

Trianglify Generator

使用 Trianglify 生成器創建漂亮的 SVG 幾何圖案。你可以隨意/變化設置顏色,粒度大小並選擇一個顏色調色板來配合使用。這個工具是 Trianglify 的GUI版本。

SVG Gradient

你知道你可以使用 CSS 來制作漸變 但是你知道你也可以使用 SVG 做到相同的效果嗎?使用 SVG 產生漸變最簡單的方式是使用這個工具。只需要輸入開始和停止顏色,然后就可以獲得產生效果的代碼了。 CSS 的后退也有包括。

Export PSD to SVG

如果你使用 Photoshop 作為你作品的圖片編輯器,有時候你可以需要在 Photoshop 的 workspace 里邊轉換你的設計成 SVG, 在 Photoshop 中有一個不支持的格式。下載腳本到這個工具里邊, 然后復制到 Adobe Photosho/presets/scripts 文件夾里邊。

用 SVG 擴展名重命名一個矢量層名字 (e.g. layer1變成layer1.svg), 你現在可以從 File > Scripts > PS to SVG 來運行腳本了。

SVG Filters

你知道使用 SVG 可以對圖片添加效果嗎?例如色度,飽和度,模糊度,線性顏色疊加和其他效果。這是一款可以顯現這些效果的工具,然后給你一個小片段使得它容易被嵌入效果到你的項目中。

SVG Morpheous

SVG Morpheous 是一個 JavaScript 庫,允許你從一個形狀到另一個形狀改變一個 SVG 圖標。你可以設置寬松效果,過度動畫的持續時間,以及旋轉的方向。

 

Clip path generator

SVG 允許你單擊圖片形狀修剪。如果形狀在一個方形或者圓形里邊,就相當簡單。但是假設形狀是一個帶有很多店或者多邊形的呢?這就是你需要找個 Clip Path Generator 工具了。

Chartist.js

Chartist.js 一個創建高可定制化響應式圖表的庫。它利用 SVG 來顯示圖表,也可以使用 SMIL 動畫。使用這個庫,你可以創建線性圖表,餅圖,直方圖和其他類型的圖表,甚至可以跟圖表添加動畫

SVG stroke dash generator

這是一個使用 SVG stroke-dasharray 生成虛線的簡單工具。首先選擇從列表中選擇一個虛線類型,然后在寬度,高度,旋轉或顏色方便自定義虛線。然后你可以攫取 HTML 代碼和 CSS 應用這條虛線到你的項目中。

Method Draw: A Simple SVG Editor

Method draw 是一個基於 web 的 SVG 編輯器,帶有一個兩邊伴有工具的畫布的直觀的界面。你可以畫線條,形狀,輸入文本或者使用內置的形狀,然后編輯繪畫兌現的屬性。使用 SVG 格式導出圖像(也可以變成 SVG base64 格式)或者直接使用 PNG 保存。

Export Flash to animated SVG

盡管它不在流行了,但是有時候你很難放棄 Flash。如果是這樣,你可以讓你的 flash 動畫變成 SVG 與更新的技術保持協調工作。這個工具塑造了 Flash 應用程序的擴展形式,可以和 CS5,CS5 和 CC 一起工作。

當它變成 Shapes, Bitmaps Symbols, Classic Motion Tweens, Shape tweens,你可以將它導出到SVG(對另一些人來說,成功是有議可爭的)。

 

 

 

五款超實用的開源SVG工具

摘要:SVG是基於XML的矢量圖像格式,用戶可靈活運用圖像進行搜索、索引、腳本以及壓縮。本文分享5款超實用的開源的SVG工具,希望對你有所幫助。

SVG(Scalable Vector Graphics)是基於XML的矢量圖像格式,用戶可靈活運用圖像進行搜索、索引、腳本以及壓縮。SVG由W3C制定開發,是一個開放標准,支持當前主流瀏覽器包括Firefox、IE9-10、Chrome、Safari以及Opera。

SVG支持三種圖像類型:矢量圖像、嵌入式外部圖像以及文字。圖形對象包括PNG、JPEG和SVG格式,用戶可根據自己的喜好輕松使用XML文本文件進行修改,因此使用文本編輯成為創建SVG圖像的重要方法之一。由於這種格式得到主流瀏覽器的支持,越來越多的產品開始傾向開源。

本文我們將分享5款超實用的開源的SVG工具:

1. SharpVectorGraphics (SVG)

SVG是基於Microsoft .Net開源項目設計而來,是建立在.Net framework上使用SVG的一款應用,支持生成、操作以及可查看 ,該項目旨在賦予一組核心模塊,開發人員可創建基金會來支持特定的SVG解決方案。

2. Cairo

Cairo是一款2D圖像庫能夠安裝、填充cubic Bézier曲線,轉換和合成半透明圖像,通過繪圖操作進行文字渲染,可以轉換任何仿射變換(縮放、旋轉、剪切等)。

3. Graphviz

Graphviz是一款可視化的圖形軟件,支持SVG、PDF和Postscript,顯示交互式的圖形瀏覽器,此外,該工具擅長抽象圖形和網格,具備多種實用的特性涵蓋具體的圖表功能如顏色、字體、表格節點布局、線型樣式、超鏈接、滾動以及自定義形狀。

4. Inkscape

Inkscape是一款開源的矢量圖形編輯器,支持可縮放的SVG1.1版,支持Mac OSX,Unix  OS以及Microsoft Windows系統。

Inkscape中的對象可進行偽射轉換(移動,旋轉、縮放、傾斜以及可配置的矩陣),該對象可進行分組、克隆;Inkscape支持多行文本(SVG’s <text>元素)和流動文本(非標准<flowRoot> 元素,此前提出的SVG 1.2版)。

Inkscape兼容多種格式,不僅支持其原生格式SVG,還有PS、 EPS、PD、AI (Adobe Illustrator)以及raster格式。

5. Apache Batik

Batik是由Apache軟件基金會開源的一款工具。

該工具使用Java編寫,幾乎完全支持SVG 1.1,此外,其他一些功能還將被納入到SVG 1.2原始計划中。

除了能為PNG輸出查看器和光柵化程序,Batik還支持完美的打印SVG文件格式以及TrueType-to-SVG-Font字體轉換,用戶還能將SVG轉換成PDF格式。

 

 

 

SVG和EPS圖像展示工具 Hypercube

Hypercube (超立方體)設有一個基於Qt的GUI簡單的基於文本的圖形來表示SVG和EPS圖像,以及作為一個Qt獨立的命令行工具的可視化工具。它采用了模擬退火算法的布局圖,可以很容易地參數進行調整,來達到所需的外觀。主要發展目標是便攜性和易於使用的,而不是高性能和復雜性。命令行工具不使用任何其他的庫比標准C ++庫,GUI工具使用“純”的Qt。

Hypercube features a Qt-based GUI tool for visualizing simple text-based graph representations as SVG and EPS images, as well as a Qt-independent commandline tool. It uses a simulated annealing algorithm to lay out the graph, which can be easily parametrized to achieve the desired look. The main development goals are portability and easy usage rather than high performance and complexity. The commandline tool does not use any other libraries than the standard C++ library, and the GUI tool uses “pure” Qt.

CLI tool

Usage:    hypercube-cli [OPTIONS] FILE

OPTIONS:
 -v               print the program version

 -s <dimensions>  set image size to <dimensions>
 -f <format>      set output format to <format>
 -e <encoding>    set input file encoding to <encoding>
 -o <file>        set the output file to <file>

 -vc <color>      set vertex color to <color>
 -ec <color>      set edge color to <color>
 -vs <size>       set vertex size to <size>
 -es <size>       set edge size to <size>
 -vf <size>       set vertex font size to <size>
 -ef <size>       set edge font size to <size>
 -d               directed graph
 -u               undirected graph
 -c               asign a unique color to every uniqe edge value
 -l <size>        show edge color legend with font size <size>

option arguments:
 <dimesnsions>    width,height
 <color>          #RRGGBB
 <format>         svg eps
 <encoding>       iso-8859-1 iso-8859-2 iso-8859-5 iso-8859-7
                  windows-1250 windows-1251 windows-1252 windows-1253
                  koi8-r koi8-u utf-8

 

 

一直知道SVG但一直沒有詳細了解過,以前錯誤的認為畫不一樣類型的數據圖應該選擇不同的辦法,比如GD,RRD或是其他HTML類的畫圖,昨天看到很多SVG的圖,這東西簡直能畫一切,從生物科學到簡單的柱狀圖、餅圖,而且這個圖可以畫的超好看。從技術上說SVG也算是很有前瞻性,目前SVG的成功案例也不少,很多JS的HTML5圖形庫都是基於SVG的。Perl也有個SVG模塊可用。

等你真正用了,你會發現svg的功能還是太基礎了。
目前階段,還是flash的圖形才是主流。
html5里面,也是canvas更流行。
svg的特點是矢量,問題是現在地位很尷尬,缺乏動力

 

 

其實SVG已經不超前了,各大瀏覽器都是支持的,只有IE8和以前的IE瀏覽器需要轉ADOBE的插件才能看SVG。
ACDSee這類的東西不支持SVG也可以理解,畢竟SVG就是XML,所以用瀏覽器查看SVG更符合使用邏輯。
我個人覺得SVG最適合和JS搭配使用,用Perl只把JSON給前端。因為有動態效果的SVG更適合做統計圖,如果搭配JS,結合HTML5和CSS。在WEB領域就完美了。目前已經有不少這類成熟的產品,比如d3.js,http://d3js.org/
   
 
 
 
 

 

 

 

 

 

排序方式: 
 
SVG-Edit
在線圖像編輯器  SVG-Edit
SVG-Edit 是一個基於瀏覽器的圖像編輯器,可進行常用的一些圖像處理功能,無需服務器端支持,支持各種瀏覽器。如下圖所示: 在線演示
SVG-Edit
收藏 55
SVG編輯器  Sketsa
Sketsa是一個基於SVG的矢量圖創建工具。此格式基於XML,允許放大或者縮小尺寸到任意分辨率而不會產生任何細節損失,同時修改時還可得到實時的效果反饋。Sketsa提供了調色板、DOM編輯器、...
Sketsa
上次更新: 2012年09月21日收藏 34評論 1
SVG.js
SVG(Scalable Vector Graphics,可縮放矢量圖形)是基於XML、用於描述二維矢量圖形的一種圖形格式。SVG由W3C制定,是一個開放標准。 SVG.js中包含了大量用於定義...
 
收藏 47
Android的SVG開發包  svg-android
svg-android 可以讓 Android 支持可 SVG 圖形。 可縮放矢量圖形(Scalable Vector Graphics,SVG)是基於可擴展標記語言(XML),用於描述二維矢量...
 
收藏 25
SVG圖標  OpenIcons
OpenIcons 是一組適合在Web上使用的SVG圖標,所有圖標都是基於向量的,使用 InkScape 制作。可以方便的轉成各種格式和各種規格尺寸的圖標。
OpenIcons
上次更新: 2010年08月26日收藏 38
SVG 工具包  Batik
Batik是一個基於Java技術的SVG(可擴展矢量圖)工具包。applications或applets使用這個工具包可以查看,生成,處理SVG格式的圖片。
Batik
收藏 24
C++的SVG開發包  wxSVG
wxSVG 是一個 C++ 的庫用來創建、操作和顯示 SVG 文件的開發包。
wxSVG
收藏 10評論 1
Java 的 SVG 庫  JFreeSVG
JFreeSVG 是一個快速、輕量級的 Java 向量圖形庫,可簡化生成 SVG 格式的圖形輸出,包好: SVGGraphics2D - 通過標准的 Java 2D API 生成 SVG 輸出 ...
 
上次更新: 2014年05月07日收藏 24
基於SVG的GUI框架  MadButterfly
MadButterfly 是以 SVG 為基礎的 GUI 架構,讓 application 可以用 SVG 畫出 GUI ,透過 MadButterfly 呈現在螢幕上,並和使用者互動。
MadButterfly
收藏 6
SVG圖表庫  GerbilCharts
GerbilCharts 是一個基於 SVG + JavaScript 的可交互式的時間序列圖表庫。 安裝方法:sudo gem install gerbilcharts
GerbilCharts
上次更新: 2011年03月03日收藏 9
JavaScript SVG 動畫庫  Vivus.js
Vivus 是一個輕量級的JavaScript類(完全無依賴) 來允許你創建 SVG 動畫,讓他們顯示被畫出來的軌跡。 Vivus提供很多不同種類的動畫。 另外還有選項,你可以按你的想法來創建一...
Vivus.js
收藏 17
SVG 渲染引擎  libRSVG
libRSVG 是一個使用 C 語言編寫的非常快速的 SVG 渲染引擎。當前支持大多數 SVG 1.2 規范,除了動畫部分。libRSVG 在很多項目中用於 SVG 渲染,諸如 GNOME。
 
收藏 6
SVG Integration
Manipulate SVG documents from JavaScript. Supported natively in Firefox, Opera, and Safari and vi...
 
收藏 0
PHP5的SVG開發包  SVGGraph
SVGGraph是一個PHP5面向對象庫,用於從數據創建各種類型的SVG圖表。包括:BarGraph、LineGraph、PieGraph、Bar3DGraph、Pie3DGraph、Scatt...
SVGGraph
收藏 7
SVG2EMF
SVG2EMF 是一個用 Java 編寫的用來將 SVG 可伸縮向量圖專為 EMF(Enhanced Meta File) 的工具。 示例代碼: public void testConvert(...
SVG2EMF
收藏 4
動態 SVG 圖表庫  Pygal
pygal 是一個 Python 開發的動態 SVG 圖表庫。 示例代碼: import pygal                                               ...
Pygal
收藏 4
jsDraw2DX
jsDraw2DX 是一個標准的 JavaScript 庫,用來創建任意類型的 SVG 交互式圖形,可生成包括線、舉行、多邊形、橢圓、弧線等等圖形。
jsDraw2DX
收藏 10
SVG 動畫效果  SVG Circus
SVG Circus 可以在幾秒鍾內創建很酷的、有動畫效果的 SVG spinners, loaders 。 # Install dependencies $ npm install $ bow...
 
收藏 3
JS的SVG游戲開發包  sv2gl
sv2gl 是一個游戲開發包,嘗試利用 SVG 已有的可擴展的工具集來進行圖像操作,包含游戲創建框架以及在瀏覽器上運行的物理引擎,可輕易的擴展並使用 Prototype 或者 jQuery 以及...
 
收藏 6
JavaScript 的 SVG 庫  Paths.js
Paths.js 是一個可以幫你生成 SVG paths 的工具。可通過使用類似 Mustache or Handlebars 的模板引擎來在瀏覽器上顯示 SVG 圖形。 示例代碼: var P...
 
收藏 13
 
Adobe Illustrator 的 SVG 優化器  SVG NOW
SVG NOW  是一個用於 Adobe Illustrator 的 SVG 出口(exporter)替代品,目前正在開發當中。它的目標是通過后處理(post-processing)SVGO 生...
SVG NOW
收藏 2
PocketSVG
直接根據SVG生成CGPath/UIBezierPath。 使用場景: 1. 重寫UIView的時候,直接從SVG文件獲取CGPath進行繪制。 2. 替代龐大的png/jpg等圖形文件,節約空...
PocketSVG
收藏 5
CuteMenus - Crystal SVG
在 Firefox 和 Thunderbird 所有的菜單欄上添加 Crystal SVG 主題的圖標。這個擴展合並了“flatstyle” 擴展,可以選擇在菜單欄上增加圖標或是徹底用圖標替換文...
 
收藏 0
SoccerFox SVG
A theme for Soccer/football fans 已更新 2007 年 10 月 18 日
 
收藏 0
FootballFox SVG
A football theme 已更新 2007 年 11 月 3 日
 
收藏 0
Node.js 模塊  svg-sprite
svg-sprite 是一個低層次的 Node.js 模塊,它可以將一堆 SVG 文件進行優化,然后將它們烤成幾種類型的 SVG sprites ,並包含合適樣式表的資源(例如 CSS, Sas...
 
收藏 3
SVG Dashed Lines Generator
SVG Dashed Lines Generator 是一個簡單使用 stroke-dasharray 生成虛線的工具。
SVG Dashed Lines Generator
收藏 0
svgo
基於 Node.js 用於優化 SVG 矢量圖形文件的工具  svgo
svgo 是一個基於 Node.js 用於優化 SVG 矢量圖形文件的工具。 為什么使用 svgo? 從各種編輯器導出的 SVG 文件通常包含大量冗余和無用的信息,例如編輯器元數據、注釋、隱藏的...
 
收藏 0
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM