All Projects → JuliaGraphics → Luxor.jl

JuliaGraphics / Luxor.jl

Licence: other
Simple drawings using vector graphics; Cairo "for tourists!"

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Luxor.jl

Ragg
Graphic Devices Based on AGG
Stars: ✭ 127 (-56.66%)
Mutual labels:  graphics, drawing, 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 (-30.03%)
Mutual labels:  graphics, vector-graphics, 2d-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 (-18.77%)
Mutual labels:  graphics, vector-graphics
Gg
Go Graphics - 2D rendering in Go with a simple API.
Stars: ✭ 3,162 (+979.18%)
Mutual labels:  graphics, 2d-graphics
vec
Vector graphics software to generate HPGL output to drive a plotter
Stars: ✭ 19 (-93.52%)
Mutual labels:  drawing, vector-graphics
Compose.jl
Declarative vector graphics
Stars: ✭ 196 (-33.11%)
Mutual labels:  graphics, vector-graphics
Sketch
Sketch have a lot of basic functions to develop a drawing app for iPhone. Anyone can easily create drawing iOS Application.
Stars: ✭ 229 (-21.84%)
Mutual labels:  graphics, drawing
Generative-Art
A selection of generative art scripts written in Python
Stars: ✭ 284 (-3.07%)
Mutual labels:  vector-graphics, 2d-graphics
Svglib
Read SVG files and convert them to other formats.
Stars: ✭ 139 (-52.56%)
Mutual labels:  graphics, vector-graphics
visioStencils
My 2,700 visio 🎨 shapes, stencils, symbols, and icons collection to visually represent IT infrastructure
Stars: ✭ 43 (-85.32%)
Mutual labels:  drawing, diagrams
vger
2D GPU renderer for dynamic UIs
Stars: ✭ 122 (-58.36%)
Mutual labels:  vector-graphics, 2d-graphics
ludigraphix.github.io
Documentation for Ludigraphix
Stars: ✭ 21 (-92.83%)
Mutual labels:  drawing, vector-graphics
Seashore
easy to use mac osx image editing application for the rest of us
Stars: ✭ 182 (-37.88%)
Mutual labels:  graphics, simple
Gerbolyze
Render high-resolution bitmap images to PCB gerber files
Stars: ✭ 169 (-42.32%)
Mutual labels:  graphics, vector-graphics
Godot Texture Painter
A GPU-accelerated texture painter written in Godot 3.0
Stars: ✭ 155 (-47.1%)
Mutual labels:  graphics, drawing
powerpaint
Kreative PowerPaint - Library and Application for Bitmap and Vector Image Editing
Stars: ✭ 27 (-90.78%)
Mutual labels:  drawing, vector-graphics
Svg.skia
An SVG rendering library.
Stars: ✭ 122 (-58.36%)
Mutual labels:  graphics, vector-graphics
cidrawing
A vector graphics library for Android
Stars: ✭ 35 (-88.05%)
Mutual labels:  drawing, vector-graphics
ModernUI
Modern desktop framework from low-level 3D graphics API to high-level view model, for development of 2D/3D rendering software or game engine, with internationalization support and many new technologies.
Stars: ✭ 168 (-42.66%)
Mutual labels:  vector-graphics, 2d-graphics
isometric
A lightweight JavaScript library, written in TypeScript to create isometric projections using SVGs
Stars: ✭ 53 (-81.91%)
Mutual labels:  drawing, 2d-graphics

luxor splash image

Documentation Build Status Code Coverage
Build Status
Build Status

Luxor

Luxor is a Julia package for drawing simple 2D vector graphics. Think of it as a high-level easier to use interface to Cairo.jl, with shorter names, fewer underscores, default contexts, and simplified functions. In Luxor, the emphasis is on simplicity and ease of use.

"luxor gallery"

Luxor is thoroughly procedural and static: your code issues a sequence of simple graphics 'commands' until you've completed a drawing, then the results are saved into a PDF, PNG, SVG, or EPS file.

A short tutorial can be found in the documentation, which you find by clicking on the badges above:

where is the documentation?

"stable" describes the current release; "development" contains changes that are still in the master branch and may change before the next release.

There are some Luxor-related videos on YouTube, and some Luxor-related blog posts at cormullion.github.io/.

Luxor is designed primarily for drawing static pictures. If you want to build animations, use Javis.jl.

Luxor isn't interactive: for building interactivity, look at Pluto.jl and Makie.

How can you contribute?

If you know any geometry you probably know more than me, so there are plenty of improvements to algorithms waiting to be made. There are some TODO comments sprinkled through the code, but plenty more opportunities for improvement.

Update the code, most of which was written for Julia versions 0.2, v0.3 and 0.4 (remember when broadcasting wasn't a thing?) so there are probably many areas where the code could take more advantage of version 1.

There can always be more tests, as the present tests are mainly visual, showing that something works, but there should be much more testing of things that shouldn't work - inappropriate input, overlapping polygons, coincident or collinear points, anticlockwise polygons, etc.

More systematic error-handling particularly of geometry errors would be a good idea, rather than sprinkling throw(error())s around when things look wrong.

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].