From Things and Stuff Wiki
Jump to navigation Jump to search



  • Pixel-fitting - "Most icons and logos are stored in vector image files that specify perfect mathematical representations of their shapes. Unlike JPG and PNG images, vector graphic files don’t tell the computer how to display their contents in pixels that can be displayed on a screen; for a vector graphic to be displayed, the computer has to perform a translation from the mathematical vectors into something that can be displayed with pixels on the screen."

  • About those vector icons · Pushing Pixels - "Listing “one [SVG] icon, infinite sizes” as one of the advantages, it seems to be a great solution, but only for duotone, or more precisely purely black and white, icons. In addition, it completely fails to address the giant elephant in the room – what to do for complex icons that do not scale well to small sizes? Type engines have two major approaches to solve this problem – embedding bitmaps and font hinting."






  • - an SVG optimizer/cleaner that reduces the size of scalable vector graphics by optimizing structure and removing unnecessary data written in Python.It can be used to create streamlined vector graphics suitable for web deployment, publishing/sharing or further processing.

  • Professor Cloud - converts SVG into an HTML5 Canvas JavaScript function. It will work with any host, and I hope it helps people to experiment with Canvas. Most vector art packages (Illustrator, Inkscape etc) can export as SVG.

  • canvas-svg - a set of related components that make canvas and SVG play together more. Notably, it allows you to save a canvas 2D context as SVG, and to have an SVG mirror of a canvas context.

var c = document.getElementById('canvas');
var ctx = c.getContext('2d');
ctx.drawSvg(SVG_XML_OR_PATH_TO_SVG, dx, dy, dw, dh);

  • JessyInk - a JavaScript that can be incorporated into an Inkscape SVG image containing several layers. Each layer will be converted into one slide of a presentation. Current features include: slide transitions, effects, an index sheet, a master slide and auto-texts like slide title, slide number and number of slides.

  • MagicMarkup - Easily create interactive mockups in Inkscape, without adding inline JS!

  • Vector Magic - Automatically convert bitmap images like JPEGs, GIFs and PNGs to the crisp, clean, scalable vector art of EPS, SVG, and PDF with the world's best auto-tracing software.

  • 1x1px - Ever needed a 1x1 transparent PNG pixel?

Like Sass for SVG.





  • - a plain text binary image format, for storing cursor and icon bitmaps used in the X GUI.[2] The XBM format is superseded by XPM, which first appeared for X11 in 1989.



  • farbfeld - a lossless image format which is easy to parse, pipe and compress. Suckless. [5]


  • develops new JPEG features and maintains the Independent JPEG Group's (IJG) software.

"when your JPEG image is under 10K, it’s better to be saved as baseline JPEG (estimated 75% chance it will be smaller) for files over 10K the progressive JPEG will give you a better compression (in 94% of the cases)"

  • pngquant is a command-line utility and a library for converting 24/32-bit PNG images to paletted (8-bit) PNGs. The conversion reduces file sizes significantly (often as much as 70%) and preserves full alpha transparency. [6]










  • FLIF - Free Lossless Image Format, a novel lossless image format which outperforms PNG, lossless WebP, lossless BPG, lossless JPEG2000, and lossless JPEG XR in terms of compression ratio. [17]


  • - converts textures (e.g. bitmaps) into the ETC2 format. The tool is built with a focus on encoding performance to reduce the amount of time required to compile asset heavy applications as well as reduce overall application size.


  • HiFiC - We combine Generative Adversarial Networks with learned compression to obtain a state-of-the-art generative lossy compression system. In the paper, we investigate normalization layers, generator and discriminator architectures, training strategies, as well as perceptual losses. In a user study, we show that our method is preferred to previous state-of-the-art approaches even if they use more than 2× the bitrate. [18]



Page description


  • - a page description language in the electronic publishing and desktop publishing business. It is a dynamically typed, concatenative programming language and was created at Adobe Systems by John Warnock, Charles Geschke, Doug Brotz, Ed Taft and Bill Paxton from 1982 to 1984.
  • PostScript as a Programming Language - PostScript has all the programming functionality you would expect from an HP-caclulator, plus some interesting features hard to find in other languages. There are variables, loops, subroutines (of a sort), and an advanced idea for the scope of variables.



  • - associated Remote Imaging Protocol Scripting Language, RIPscrip, is a scripting language that provides a system for sending vector graphics over low-bandwidth links, notably modems. It was originally created by Jeff Reeder, Jim Bergman, and Mark Hayton of TeleGrafix Communications in Huntington Beach, California to enhance bulletin board systems and other applications.


Web 1.0 stylee





See also HTML/CSS#Icons HTML/CSS#Data URI, Typography#Webfont icons

  • Iconic - Advanced icons for the modern web. 200+ smart icons, responsive, 3 sizes, CSS styling [19]
  • Maki is a clean point of interest icon set made for web cartography.
  • SJJB SVG Map Icons - an attempt to create a simple consistent set of vector icons suitable for cartographic use.
  • Climacons - climatically categorised pictographs for web and user interface designers.
  • Skycons is a set of ten animated weather glyphs, procedurally generated by JavaScript using the HTML5 canvas tag.
  • LivIcons - Truly animated icon pack with power of scalable vector graphic for clean and perfect look at any devices.
  • Icon Deposit - post your icons, designs, code, and screenshots to promote your work
  • Evil Icons - Lightweight SVG icons for your web project

  • - A Monotone icon theme that contains over 1300 scalable icons to cover more than 5500 icons from the last linux decade. Its mainly made for dark desktops or HTPC's however it can also be used as a pure action/toolbar icon theme, fallback icon theme or even on bright desktops after a color change.


Open and free

  • Devices - Images and Sketch files of popular devices, by Facebook Design

  • WidgetWorx » Selected Projects » SpriteLib - a collection of static and animated graphic objects (also commonly known as sprites) that I created between 1992 and 2002 for my own game projects. Seeing how it could benefit others, I decided to offer it to hobbyist game developers to use in their creations free of charge. Because of SpriteLib, game developers no longer have to waste precious time or money creating graphics from scratch when they can use mine in their game demos and prototypes. Over the years, SpriteLib has been used in hundreds of games, including some popular ones like Pacific Wings.


  • IconDrop - A desktop app for searching and using free SVG icons


  • Imogen - GPU Texture generator using dear imgui for UI. Not production ready and a bit messy but really fun to code. This is an hybrid project that can run natively or on the web (thanks to emscripten). Basically, add GPU and CPU nodes in a graph to manipulate and generate images.










  • sxiv - Simple (or small or suckless) X Image Viewer
sxiv *
  Open all (hack)
sxiv -t
  toggle fullscreen
  toggle between single and thumbnail
  next image
  previous image



qiv / pqiv






  • ImagePlay - a rapid prototyping tool for building and testing image processing algorithms.It comes with a variety of over 70 individual image processors which can be combined into complex process chains.ImagePlay is completely open source and can be built for Windows, Mac and Linux.


magick image.jpg image.png

import -crop 1280x1024+1280+0 -window root $HOME/screenshot_silver_$(date +%F_%H%M%S_%N).png
  # import a screenshot of the root window to a file cropped for the second desktop

convert -quality 97 image.png image.jpg

convert sample.png sample.pdf



  • G'MIC - a full-featured open-source framework for image processing. It provides several different user interfaces to convert/manipulate/filter/visualize generic image datasets, ranging from 1d scalar signals to 3d+t sequences of multi-spectral volumetric images, thus including 2d color images.


  • libvips - A fast image processing library with low memory needs.

img2txt / gif2txt


  • Netpbm - a toolkit for manipulation of graphic images, including conversion of images between a variety of different formats. There are over 300 separate tools in the package including converters for about 100 graphics formats. Examples of the sort of image manipulation we're talking about are: Shrinking an image by 10%; Cutting the top half off of an image; Making a mirror image; Creating a sequence of images that fade from one image to another.


  • Freestyle - software for Non-Photorealistic Line Drawing rendering from 3D scenes. It is designed as a programmable interface to allow maximum control over the style of the final drawing: the user "programs" how the silhouettes and other feature lines from the 3D model should be turned into stylized strokes using a set of programmable operators dedicated to style description. This programmable approach, inspired by the shading languages available in photorealistic renderers such as Pixar's RenderMan, overcomes the limitations of integrated software with access to a limited number of parameters and permits the design of an infinite variety of rich and complex styles. The system currently focuses on pure line drawing as a first step. The style description language is Python augmented with our set of operators.




Neural Photo Editor


Deep Image Prior

  • Deep Image Prior - deep convolutional networks have become a popular tool for image generation and restoration. Generally, their excellent performance is imputed to their ability to learn realistic image priors from a large number of example images. In this paper, we show that, on the contrary, the structure of a generator network is sufficient to capture a great deal of low-level image statistics prior to any learning. In order to do so, we show that a randomly-initialized neural network can be used as a handcrafted prior with excellent results in standard inverse problems such as denoising, superresolution, and inpainting. Furthermore, the same prior can be used to invert deep neural representations to diagnose them, and to restore images based on flash-no flash input pairs. [38]




  • PixiVisor - a tool for experimenting with the transmission of video over audio. It consists of two parts: Transmitter and Receiver. Transmitter converts the low-resolution video (stream from camera, static image or GIF animation) to sound in real time, pixel by pixel (progressive scan). So any image or animation can be transferred to the other devices through the sound. Receiver converts the sound (from microphone or Line-in input) back to video. You can set the color palette for this video, and record it to animated GIF file.






  • GD is an open source code library for the dynamic creation of images by programmers. GD is written in C, and "wrappers" are available for Perl, PHP and other languages. GD creates PNG, JPEG and GIF images, among other formats. GD is commonly used to generate charts, graphics, thumbnails, and most anything else, on the fly. While not restricted to use on the web, the most common applications of GD involve website development.

  • Processing is a programming language, development environment, and online community. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. Initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context, Processing evolved into a development tool for professionals. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.

  • polyHédronisme - a toy for building complex 3D polyhedral shapes from simple ones by "recipes".

  • Mondrian is a smart and easy-to-learn vector graphics web app.

  • Evolvotron is an interactive "generative art" application for Linux to evolve images/textures/patterns/animations through an iterative process of random mutation and user-selection driven evolution. (This process is also often referred to as "evolutionary art" or "genetic art".) If you like lava lamps, and still think the Mandelbrot set is cool, this could be the software for you.


See Photography




  • Glimpse - an open source image editor based on the GNU Image Manipulation Program. The goal is to experiment with new ideas and expand the use of free software.

  toggle toolbars

Doesn't save undo history. Bug. Use file history, layers or sg-snapshot instead.

Brushes and textures
  • GPS is a collection of brushes and accompanying tool presets. Tool presets are a simply saved tool options, highly useful feature of the GIMP. The goal of GPS is to provide an adequate working environment for graphic designers and artists to begin to paint and feel comfortable with GIMP from their first use. Later the user will change these settings based on his own workflow preferences and understanding of GIMP.
Scripts and plugins

  • GAP - for animation







  • sK1 - professional quality illustration program for Windows, GNU/Linux and macOS platforms. sK1 2.0 is a powerful and mature application that makes users more productive and provides them professional and free solution even for exotic *nix OSes. Whether you are a newbie user or an experienced designer, sK1 2.0 makes it easy to get started. With its professional color-management engine and wide-range file format compatibility, sK1 2.0 provides color accuracy and drawing flexibility you need for all types of projects.



  • MyPaint is a fast and easy open-source graphics application for digital painters. It lets you focus on the art instead of the program. You work on your canvas with minimum distractions, bringing up the interface only when you need it.



  • Photopea - a free online tool for editing raster art and vector graphics with support for PSD, XCF and Sketch files. Supported formats: Complex: PSD, XCF, Sketch, XD, CDR, SVG, EPS, PDF, WMF, EMF. Raster: PNG (APNG), JPG, GIF, WebP, ICO, BMP, PPM/PGM/PBM, TIFF, DNG, DDS.


  • mtPaint - a painting program which Mark Tyler developed from scratch so he could easily create pixel art and manipulate digital photos. It uses the GTK+ toolkit (version 1 or 2) and runs on PC's via the GNU/Linux or Windows operating systems. Due to its efficient design it can run on older PC hardware (e.g. a 200MHz CPU and 16MB of free RAM). mtPaint is free software, which means you are able to freely use, modify and distribute it according to the GNU General Public License.


  • sK1 - professional quality illustration program for Windows, GNU/Linux and macOS platforms. sK1 2.0 is a powerful and mature application that makes users more productive and provides them professional and free solution even for exotic *nix OSes. Whether you are a newbie user or an experienced designer, sK1 2.0 makes it easy to get started. With its professional color-management engine and wide-range file format compatibility, sK1 2.0 provides color accuracy and drawing flexibility you need for all types of projects.

Xara Xtreme

  • Xara Xtreme - for Linux is a powerful, general purpose graphics program for Unix platforms including Linux, FreeBSD and (in development) OS-X. Formely known as Xara LX, it is based on Xara Xtreme for Windows, which is the fastest graphics program available, period. The Xara Xtreme source code was made available open-source in early 2006, and is being ported to Linux. This process is almost complete and Xara Xtreme for Linux is available for download now.


  • CinePaint - an open source computer program for painting and retouching bitmap frames of films. It is a fork of version 1.0.4 of the GNU Image Manipulation Program (GIMP). It enjoyed some success as one of the earliest open source tools developed for feature motion picture visual effects and animation work. The main reason for this adoption over mainline gimp was its support for high bit depths (greater than 8-bits per channel) which can be required for film work.[citation needed] The mainline GIMP project later added high bit depths in GIMP 2.9.2, released November 2015.


  • Krita - a professional FREE and open source painting program. It is made by artists that want to see affordable art tools for everyone including for concept art, texture and matte painters, illustrations and comics

Fragmentarium / FragM

  • Fragmentarium - an open source, cross-platform IDE for exploring pixel based graphics on the GPU. It is inspired by Adobe's Pixel Bender, but uses GLSL, and is created specifically with fractals and generative systems in mind.
    • - derived from Mikael Hvidtfeldt Christensen's Fragmentarium representing a compilation of features and fixes contributed by many users at over 3-4 years.


  • XFig - a free and open-source vector graphics editor which runs under the X Window System on most UNIX-compatible platforms. In Xfig, figures may be drawn using objects such as circles, boxes, lines, spline curves, text, etc. It is also possible to import images in formats such as GIF, JPEG, EPS, PostScript, etc. Those objects can be created, deleted, moved or modified. Attributes such as colors or line styles can be selected in various ways. For text, 35 fonts are available. Xfig saves figures in its native text-only "Fig" format. Xfig has a facility to print figures to a PostScript printer too. A convenient feature is the PSTEX or PDFTEX export format that allows a smooth integration of Xfig-generated images into LaTeX documents.


  • GrafX2 - a bitmap paint program inspired by the Amiga programs ​Deluxe Paint and Brilliance. Specialized in 256-color drawing, it includes a very large number of tools and effects that make it particularly suitable for pixel art, game graphics, and generally any detailed graphics painted with a mouse. The program is mostly developed on Haiku, Linux and Windows, but is also portable on many other platforms. [40]



  • Seashore - an open source image editor for Mac OS X's Cocoa framework. It features gradients, textures and anti-aliasing for both text and brush strokes. It supports multiple layers and alpha channel editing. It is based around the GIMP's technology and uses the same native file format. However, unlike the GIMP, Seashore aims to serve the basic image editing needs of most computer users, not to provide a replacement for professional image editing products. Also, unlike GIMP, Seashore has an all-new Cocoa UI that will fit right in on Mac OS X.


  • VPaint is an experimental vector graphics editor based on the Vector Animation Complex (VAC), a technology developed by a collaboration of researchers at Inria and the University of British Columbia, featured at SIGGRAPH 2015. It allows you to create resolution-independent illustrations and animations using innovative techniques. [42]


  • DALi - a dynamic animation library, a 2D and 3D scene graph that abstracts the rendering of the nodes through a simple API. It can be used to create 2D and 3D applications, providing support for resource loading, touch events, key events, animating the nodes and a whole array of functionality to make it easy for the user to produce effects, applications and user interfaces. DALi is developed with user input responsiveness, smooth updates with good FPS and low memory requirements in mind. A Toolkit is provided to make using DALi even easier along with a framework that facilitates the creating of your own controls. DALi is Open Source, constantly maintained and extended.DALi provides 2 apis, the native C++ and NUI which is based on C#.

  • - a new open-source 2D animation software for Linux. You can use enve to create vector animations, raster animations, and even use sound and video files. Enve was created with flexibility and expandability in mind.

Colour management

  • - the controlled conversion between the color representations of various devices, such as image scanners, digital cameras, monitors, TV screens, film printers, computer printers, offset presses, and corresponding media.The primary goal of color management is to obtain a good match across color devices; for example, the colors of one frame of a video should appear the same on a computer LCD monitor, on a plasma TV screen, and as a printed poster. Color management helps to achieve the same appearance on all of these devices, provided the devices are capable of delivering the needed color intensities. With photography it is often critical that prints or online gallery appear how they were intended. Color management cannot guarantee identical color reproduction, as this is rarely possible, but it can at least give more control over any changes which may occur.

Parts of this technology are implemented in the operating system (OS), helper libraries, the application, and devices. A cross-platform view of color management is the use of an ICC-compatible color management system. The International Color Consortium (ICC) is an industry consortium that has defined: An open standard for a Color Matching Module (CMM) at the OS level, and color profiles for: Devices, including devicelink-profiles that represent a complete color transformation from source device to target device, and Working spaces, the color spaces in which color data is meant to be manipulated

There are other approaches to color management besides using ICC profiles. This is partly due to history and partly because of other needs than the ICC standard covers. The film and broadcasting industries make use of some of the same concepts, but they frequently rely on more limited boutique solutions. The film industry, for instance, often uses 3D LUTs (lookup table) to represent a complete color transformation for a specific RGB encoding. At the consumer level, color management currently applies more to still images than video, in which color management is still in its infancy.

  • - a set of data that characterizes a color input or output device, or a color space, according to standards promulgated by the International Color Consortium (ICC). Profiles describe the color attributes of a particular device or viewing requirement by defining a mapping between the device source or target color space and a profile connection space (PCS). This PCS is either CIELAB (L*a*b*) or CIEXYZ. Mappings may be specified using tables, to which interpolation is applied, or through a series of parameters for transformations.

Every device that captures or displays color can be profiled. Some manufacturers provide profiles for their products, and there are several products that allow an end-user to generate his or her own color profiles, typically through the use of a tristimulus colorimeter or preferably a spectrophotometer. The ICC defines the format precisely but does not define algorithms or processing details. This means there is room for variation between different applications and systems that work with ICC profiles. Since late 2010, the current version of the specification is 4.3.

ICC has also published a preliminary specification for iccMAX, a next-generation color management architecture with significantly expanded functionality and a choice of colorimetric, spectral or material connection space.

  • colord - a system service that makes it easy to manage, install and generate color profiles to accurately color manage input and output devices.What colord does: Provides a D-Bus API for system frameworks to query, e.g. Get me the profiles for device $foo or Create a device and assign it profile $bar. Provides a persistent database backed store that is preserved across reboots. Provides the session for a way to set system settings, for instance setting the display profile for all users and all sessions.colord itself is a system activated daemon called colord. Being system activated means that it's only started when the user is using a text mode or graphical tool.GNOME Color Manager is the name of the graphical tools for colord to be used in the GNOME and KDE desktops. GNOME Color Manager and colord-kde act as a clients to colord.

  • ArgyllCMS - an ICC compatible color management system, available as Open Source under the AGPL. It supports accurate ICC profile creation for scanners, cameras and film recorders, and calibration and profiling of displays and RGB & CMYK printers.

  • dispcalGUI - Open Source Display Calibration and Characterization powered by Argyll CMS

  • Little CMS - intends to be an open source small-footprint color management engine, with special focus on accuracy and performance. It uses the International Color Consortium standard (ICC), which is the modern standard when regarding to color management.

  • - 3D lookup tables (3D LUTs) are used to map one color space to another. They are commonly used to calculate preview colors for a monitor or digital projector of how an image will be reproduced on another display device, typically the final digitally projected image or release print of a movie. A 3D LUT is a 3D lattice of output RGB color values that can be indexed by sets of input RGB colour values. Each axis of the lattice represents one of the three input color components and the input color thus defines a point inside the lattice. Since the point may not be on a lattice point, the lattice values must be interpolated; most products use trilinear interpolation.

Colour picker

  • xgrabcolor - a basic color picker, that allows to grab a color from any pixel on screen, display the corresponding colorname, to be used, for instance, in HTML pages, the color RGB and HSV values, as well as the color alpha channels. Each of these values can also be modified directly by the user in a synchronized way to generate new colors. Colors can be stored in a list, for later use.

Palette generation


  • allRGB - The objective of allRGB is simple: To create images with one pixel for every RGB color (16777216); not one color missing, and not one color twice.







Cross-stitch and knitting


  • Shutter is a feature-rich screenshot program. You can take a screenshot of a specific area, window, your whole screen, or even of a website – apply different effects to it, draw on it to highlight points, and then upload to an image hosting site, all within one window.

  • ScreenCloud - Take a screenshot using one of the 3 hotkeys or simply click the ScreenCloud tray icon.





  • Xournal - an application for notetaking, sketching, keeping a journal using a stylus. It is free software (GNU GPL) and runs on Linux (recent distributions) and other GTK+/Gnome platforms. It is similar to Microsoft Windows Journal or to other alternatives such as Jarnal, Gournal, and NoteLab.


  • Jarnal - an open-source application for notetaking, sketching, keeping a journal, making a presentation, annotating a document - including pdf - or collaborating using a stylus, mouse or keyboard. It is similar to Microsoft Windows Journal and to the earlier Mimeo whiteboarding and Palm notepad applications. There is also a commercial knockoff of Jarnal called PDF Annotator - for $50 you can enjoy a subset of the capabilities that Jarnal provides for free.


  • Gournal - note-taking application written for usage on Tablet-PCs (such as the Toshiba M200). It’s designed for usage with a stylus, not a mouse or keyboard. It does not have handwriting recognition but can be used in co-ordination with xstroke to accept text. Gournal is written in perl using gtk2-perl so you will need gtk2-perl along with the gladexml and gnomecanvas modules of gtk2-perl. The pages are saved as gzipped SVG files (not totally standard yet but working on it)


  • NoteLab - brings the power of digital note taking to Linux, Windows, Mac OS X, and Solaris. Using NoteLab is just like writing with a pen on real paper. However with NoteLab, the pen and paper are electronic, you never run out of ink, and you have all the paper you'll ever need. NoteLab is free software licensed under the GNU GPL. Like Linux and Firefox, NoteLab and its full source code are available at no cost for anyone to view, analyze, scrutinze, and improve. NoteLab saves your notes in the industry standard SVG (Scalable Vector Graphic) format. Thus any program that can understand this open, next-generation graphic format can be used to view NoteLab files. NoteLab can also print your notes or export them to a number of image types including PNG and JPEG. NoteLab allows the user to select en tire words, stretch them, move them, change their color, change their line width, delete them, and bring them back. Simply speaking, NoteLab understands a stroke as a complex shape. It doesn't just look at the page as a collection of ink on a page, but instead as a collection of words in a dynamic environment.


  • Sketchpad - online annotation, editing & design tool



  • Dotgrid - a distractionless vector tool with line styles, corner controls, colours, grid-based tools, PNG and SVG export.The application is free and Open Source, and also available live to be used with your browser, on your Raspberry Pi, or on your mobile device.


  • Ronin - a cross-over between Vim and Photoshop, meant to quickly render simple graphic tasks.Ronin is currently under development, it now includes basic digital painting functionalities.


Pixel art

Line art





  • - a project that estimates the psychovisual similarity of two images. It gives a score for the images that is reliable in the domain of barely noticeable differences. Butteraugli not only gives a scalar score, but also a spatial map of the level of differences. [49]

  • Enfuse - Wiki - command-line program used to merge different exposures of the same scene to produce an image that looks very much like a tonemapped image (without the halos) but requires no creation of an HDR image. Therefore it is much simpler to use and allows the creation of very large multiple exposure panoramas.

  • - I worked for a long time in financial services, and I can tell you that one thing I got sick of hearing was "how do I convert animated GIFs into Excel files". If you're here wondering why nobody has yet exploited this gap in a very lucrative market, wonder no longer. Help is at hand.

Machine learning



  • OpenPhoto is an Open Source photo sharing platform which gives users complete ownership and portability of their photos. Users’ photos, tags and comments are seamlessly stored into personally owned cloud services owned by themselves. Whatever they want to do or wherever they want to go their photos are free to go with them.

  • Colorbox - A lightweight customizable lightbox plugin for jQuery