All Projects β†’ google β†’ iconvg

google / iconvg

Licence: Apache-2.0 license
IconVG is a compact, binary format for simple vector graphics: icons, logos, glyphs and emoji.

Programming Languages

c
50402 projects - #5 most used programming language
dart
5743 projects
go
31211 projects - #10 most used programming language
C++
36643 projects - #6 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to iconvg

Macterm
Terminal emulator for macOS with 24-bit color, bitmap and vector graphics.
Stars: ✭ 162 (-74.12%)
Mutual labels:  vector-graphics
Lazpaint
🎨 Cross-platform image editor with raster and vector layers similar to Paint.Net written in Lazarus (Free Pascal)
Stars: ✭ 236 (-62.3%)
Mutual labels:  vector-graphics
vectorexpress-api
Vector Express is a free service and API for converting, analyzing and processing vector files.
Stars: ✭ 66 (-89.46%)
Mutual labels:  vector-graphics
Psvg
Programmable Scalable Vector Graphics -- drawings that draw themselves
Stars: ✭ 177 (-71.73%)
Mutual labels:  vector-graphics
Picasso
Picasso is a high quality 2D vector graphic rendering library. It support path , matrix , gradient , pattern , image and truetype font.
Stars: ✭ 205 (-67.25%)
Mutual labels:  vector-graphics
fonterator
Load fonts as vector graphics in pure Rust with advanced text layout.
Stars: ✭ 34 (-94.57%)
Mutual labels:  vector-graphics
Tangram
WebGL map rendering engine for creative cartography
Stars: ✭ 1,964 (+213.74%)
Mutual labels:  vector-graphics
blend2d-python
Cython wrapper for Blend2D
Stars: ✭ 13 (-97.92%)
Mutual labels:  vector-graphics
Graphics32
Graphics32 is a graphics library for Delphi and Lazarus. Optimized for 32-bit pixel formats, it provides fast operations with pixels and graphic primitives. In most cases Graphics32 considerably outperforms the standard TBitmap/TCanvas methods.
Stars: ✭ 238 (-61.98%)
Mutual labels:  vector-graphics
CQULogo
ι‡εΊ†ε€§ε­¦θ§†θ§‰ζ ‡θ―†η΄ ζεŒ… --- Visual Identification Bundle of Chongqing University
Stars: ✭ 55 (-91.21%)
Mutual labels:  vector-graphics
Text Attention Heatmap Visualization
Plot the vector graph of attention based text visualisation
Stars: ✭ 181 (-71.09%)
Mutual labels:  vector-graphics
Vectorsynthesis
This library allows the creation and manipulation of vector shapes using audio signals sent directly to oscilloscopes, modified Vectrex consoles, ILDA laser displays, and oscilloscope emulation software using the Pure Data programming environment. Please scroll down for more info in the README below.
Stars: ✭ 199 (-68.21%)
Mutual labels:  vector-graphics
powerpaint
Kreative PowerPaint - Library and Application for Bitmap and Vector Image Editing
Stars: ✭ 27 (-95.69%)
Mutual labels:  vector-graphics
Gerbolyze
Render high-resolution bitmap images to PCB gerber files
Stars: ✭ 169 (-73%)
Mutual labels:  vector-graphics
raster-retrace
Image tracing command line utility.
Stars: ✭ 40 (-93.61%)
Mutual labels:  vector-graphics
Method Draw
Method Draw, the SVG Editor for Method of Action
Stars: ✭ 2,109 (+236.9%)
Mutual labels:  vector-graphics
Vectorlogozone
3,000+ gorgeous SVG logos, perfect for your README or credits page
Stars: ✭ 239 (-61.82%)
Mutual labels:  vector-graphics
vec
Vector graphics software to generate HPGL output to drive a plotter
Stars: ✭ 19 (-96.96%)
Mutual labels:  vector-graphics
VectorIntegerView
Animated integer on Android. https://habr.com/post/420919/
Stars: ✭ 17 (-97.28%)
Mutual labels:  vector-graphics
Generative-Art
A selection of generative art scripts written in Python
Stars: ✭ 284 (-54.63%)
Mutual labels:  vector-graphics

IconVG

IconVG is a compact, binary format for simple vector graphics: icons, logos, glyphs and emoji.

WARNING: THIS FORMAT IS EXPERIMENTAL AND SUBJECT TO INCOMPATIBLE CHANGES.

It is similar in concept to SVG (Scalable Vector Graphics) but much simpler. Compared to SVG Tiny, which isn't actually tiny, it does not have features for text, multimedia, interactivity, linking, scripting, animation, XSLT, DOM, combination with raster graphics such as JPEG formatted textures, etc.

It is a format for efficient presentation, not an authoring format. For example, it does not provide grouping individual paths into higher level objects. Instead, the anticipated workflow is that artists use other tools and authoring formats like Inkscape and SVG, or commercial equivalents, and export IconVG versions of their assets, the same way that they would produce PNG versions of their vector art. It is not a goal to be able to recover the original SVG from a derived IconVG.

It is not a pixel-exact format. Different implementations may produce slightly different renderings, due to implementation-specific rounding errors in the mathematical computations when rasterizing vector paths to pixels. Artifacts may appear when scaling up to extreme sizes, say 1 million by 1 million pixels. Nonetheless, at typical scales, e.g. up to 4096 Γ— 4096, such differences are not expected to be perceptible to the naked eye.

Example

Cowbell image

  • cowbell.png is 18555 bytes (256 Γ— 256 pixels)
  • cowbell.svg is 4506 bytes
  • cowbell.iconvg is 1012 bytes (see also its disassembly)

The test/data directory holds these files and other examples.

File Format

  • IconVG Specification
  • Magic number: 0x8A 0x49 0x56 0x47, which is "\x8aIVG".
  • Suggested file extension: .iconvg
  • Suggested MIME type: image/x-iconvg

Implementations

This repository contains:

The original Go IconVG package also implements a decoder and encoder, albeit for an older (obsolete) version of the file format.

Disclaimer

This is not an official Google product, it is just code that happens to be owned by Google.


Updated on January 2022.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].