Difference between revisions of "Graphics libraries"
From Lazarus wiki
Jump to navigationJump to search (3D support in bgrabitmap) |
(TIFF multipage) |
||
(17 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
+ | This is a list of libraries designed '''only''' to work with graphics. If you're looking for a library to be used for [[Portal:Game Development|game development]] you should use a [[Game framework|game framework]] or a [[Game Engine|game engine]] instead. | ||
+ | |||
+ | ==Graphics libraries== | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
! Name | ! Name | ||
Line 9: | Line 12: | ||
! Supported File Formats | ! Supported File Formats | ||
! Color formats or framework | ! Color formats or framework | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| [http://www.crossgl.com/aggpas/ AggPas] || Milano || Windows, Linux, Mac OS || [http://www.crossgl.com/aggpas/aggpas-licence.htm Custom] || {{Yes}} || {{Yes}} ||{{No}} || BMP, SVG, Flash (TXT), True Type Font || 8-bit grayscale, 15-bit, 16-bit, 24-bit RGB and 32-bit RGB with alpha | | [http://www.crossgl.com/aggpas/ AggPas] || Milano || Windows, Linux, Mac OS || [http://www.crossgl.com/aggpas/aggpas-licence.htm Custom] || {{Yes}} || {{Yes}} ||{{No}} || BMP, SVG, Flash (TXT), True Type Font || 8-bit grayscale, 15-bit, 16-bit, 24-bit RGB and 32-bit RGB with alpha | ||
− | |||
− | |||
|- | |- | ||
| [http://andorra.sourceforge.net/ Andorra 2D] || [http://andorra.sourceforge.net/index1013.html?section=credits Team] || Windows and Linux || Common Public License, GNU GPL || {{Yes}} || {{No}} ||{{No}} || BMP, PNG, TGA || DirectX and OpenGL | | [http://andorra.sourceforge.net/ Andorra 2D] || [http://andorra.sourceforge.net/index1013.html?section=credits Team] || Windows and Linux || Common Public License, GNU GPL || {{Yes}} || {{No}} ||{{No}} || BMP, PNG, TGA || DirectX and OpenGL | ||
|- | |- | ||
− | | [[BGRABitmap|BGRABitmap]] || Circular || Win32, Win64, Linux (Gtk & Qt), Mac OS (Carbon) || Modified LGPL || {{Yes}} || {{ | + | | [[BGRABitmap|BGRABitmap]] || Circular || Win32, Win64, Linux (Gtk & Qt), Mac OS (Carbon) || Modified LGPL || {{Yes}} || {{Yes}} ||{{Yes}} || read-write: BMP (Windows, OS/2, MioMap), ICO/CUR, JPEG, animated PNG and GIF, PCX, LZP, ORA, OXO, SVG, TGA, TIFF (multipage), XWD, XPM; read-only: PDN, PSD; with library: AVIF, WebP || 8-bit grayscale, 32-bit BGRA, 64 and 128-bit RGBA, 64 and 128-bit XYZA, Canvas2d (like HTML5), CanvasBGRA (like TCanvas), OpenGL, ZenGL |
|- | |- | ||
| [[fcl-image]] || Team || All platforms || Modified LGPL || {{Yes}} || {{No}} ||{{No}} || BMP, JPG, PCX, PNG, TGA || Various formats up to 64-bit RGBA | | [[fcl-image]] || Team || All platforms || Modified LGPL || {{Yes}} || {{No}} ||{{No}} || BMP, JPG, PCX, PNG, TGA || Various formats up to 64-bit RGBA | ||
|- | |- | ||
− | | [[fpvectorial|fpVectorial]] || || || || {{Yes}} || {{Yes}} || {{Yes}} || PDF, Corel Draw | + | | [[fpvectorial|fpVectorial]] || || || || {{Yes}} || {{Yes}} || {{Yes}} || SVG, WMF, PDF, Corel Draw, DXF || Supports raster images placed inside the vectorial document. Supports documents with multiple pages. |
|- | |- | ||
− | | [http://graphics32.org Graphics32] || Team || | + | | [http://graphics32.org Graphics32] || Team Graphics32 || Win32 and OS X || MPL and LGPL || {{Yes}} || {{No}} || {{No}} || BMP, JPG, WMF, EMF || 32-bit RGBA |
+ | |- | ||
+ | | Lazarus [[Developing_with_Graphics#Working_with_TCanvas|TCanvas]] || Lazarus developers || All supported by the LCL || Modified LGPL || {{Yes}} || {{No}} || {{No}} ||BMP, ICO, ICNS, PNG, JPEG, GIF, etc || Represents the native canvas of the widgetset | ||
+ | |- | ||
+ | | Lazarus [[Developing_with_Graphics#Working_with_TLazIntfImage.2C_TRawImage_and_TLazCanvas|TLazCanvas+TLazIntfImage]] || Lazarus developers || All supported by the LCL || Modified LGPL || {{Yes}} || {{No}} || {{No}} || Only via fcl-image || Supports almost any pixel format. Cannot render to the screen directly, but instead is utilized in connection with something that can, like TCanvas or LCL-CustomDrawn | ||
|- | |- | ||
| [[LazRGBGraphics|LazRGBGraphics]] || Abandoned (formerly Tom Gregorovic) || || Modified LGPL || {{Yes}} || {{No}} || {{No}} || || 8-bit grayscale and 32 bit RGB without alpha | | [[LazRGBGraphics|LazRGBGraphics]] || Abandoned (formerly Tom Gregorovic) || || Modified LGPL || {{Yes}} || {{No}} || {{No}} || || 8-bit grayscale and 32 bit RGB without alpha | ||
|- | |- | ||
| [http://imaginglib.sourceforge.net/ Vampyre Imaging Library] || Marek Mauder || Windows x86/AMD64, Linux x86/AMD64, FreeBSD x86/AMD64, Mac OS X on Intel || Mozilla Public License, GNU LGPL || {{Yes}} || {{No}} || {{No}} || BMP, JPEG, PNG/APNG, GIF, DDS, TGA, MNG, JNG, JPEG2000, TIFF, PSD, PBM, PGM, PPM, PAM, PFM, PCX, XPM, and more || 8, 16, 24, 32, 48 and 64 bit RGB and ARGB formats, indexed formats, grayscale formats, floating point formats (IEEE754 and half precision), compressed formats like DXT1/3/5, 3Dc, and BTC | | [http://imaginglib.sourceforge.net/ Vampyre Imaging Library] || Marek Mauder || Windows x86/AMD64, Linux x86/AMD64, FreeBSD x86/AMD64, Mac OS X on Intel || Mozilla Public License, GNU LGPL || {{Yes}} || {{No}} || {{No}} || BMP, JPEG, PNG/APNG, GIF, DDS, TGA, MNG, JNG, JPEG2000, TIFF, PSD, PBM, PGM, PPM, PAM, PFM, PCX, XPM, and more || 8, 16, 24, 32, 48 and 64 bit RGB and ARGB formats, indexed formats, grayscale formats, floating point formats (IEEE754 and half precision), compressed formats like DXT1/3/5, 3Dc, and BTC | ||
− | |||
− | |||
|} | |} | ||
+ | |||
+ | ==See also== | ||
+ | * [[Game framework]] | ||
+ | * [[Game Engine]] | ||
[[Category:Graphics]] | [[Category:Graphics]] | ||
+ | [[Category:Libraries]] | ||
[[Category:Comparisons]] | [[Category:Comparisons]] |
Latest revision as of 13:20, 8 December 2023
This is a list of libraries designed only to work with graphics. If you're looking for a library to be used for game development you should use a game framework or a game engine instead.
Graphics libraries
Name | Developers | Platforms | License | Raster | Vectors | 3D | Supported File Formats | Color formats or framework |
---|---|---|---|---|---|---|---|---|
AggPas | Milano | Windows, Linux, Mac OS | Custom | Yes | Yes | No | BMP, SVG, Flash (TXT), True Type Font | 8-bit grayscale, 15-bit, 16-bit, 24-bit RGB and 32-bit RGB with alpha |
Andorra 2D | Team | Windows and Linux | Common Public License, GNU GPL | Yes | No | No | BMP, PNG, TGA | DirectX and OpenGL |
BGRABitmap | Circular | Win32, Win64, Linux (Gtk & Qt), Mac OS (Carbon) | Modified LGPL | Yes | Yes | Yes | read-write: BMP (Windows, OS/2, MioMap), ICO/CUR, JPEG, animated PNG and GIF, PCX, LZP, ORA, OXO, SVG, TGA, TIFF (multipage), XWD, XPM; read-only: PDN, PSD; with library: AVIF, WebP | 8-bit grayscale, 32-bit BGRA, 64 and 128-bit RGBA, 64 and 128-bit XYZA, Canvas2d (like HTML5), CanvasBGRA (like TCanvas), OpenGL, ZenGL |
fcl-image | Team | All platforms | Modified LGPL | Yes | No | No | BMP, JPG, PCX, PNG, TGA | Various formats up to 64-bit RGBA |
fpVectorial | Yes | Yes | Yes | SVG, WMF, PDF, Corel Draw, DXF | Supports raster images placed inside the vectorial document. Supports documents with multiple pages. | |||
Graphics32 | Team Graphics32 | Win32 and OS X | MPL and LGPL | Yes | No | No | BMP, JPG, WMF, EMF | 32-bit RGBA |
Lazarus TCanvas | Lazarus developers | All supported by the LCL | Modified LGPL | Yes | No | No | BMP, ICO, ICNS, PNG, JPEG, GIF, etc | Represents the native canvas of the widgetset |
Lazarus TLazCanvas+TLazIntfImage | Lazarus developers | All supported by the LCL | Modified LGPL | Yes | No | No | Only via fcl-image | Supports almost any pixel format. Cannot render to the screen directly, but instead is utilized in connection with something that can, like TCanvas or LCL-CustomDrawn |
LazRGBGraphics | Abandoned (formerly Tom Gregorovic) | Modified LGPL | Yes | No | No | 8-bit grayscale and 32 bit RGB without alpha | ||
Vampyre Imaging Library | Marek Mauder | Windows x86/AMD64, Linux x86/AMD64, FreeBSD x86/AMD64, Mac OS X on Intel | Mozilla Public License, GNU LGPL | Yes | No | No | BMP, JPEG, PNG/APNG, GIF, DDS, TGA, MNG, JNG, JPEG2000, TIFF, PSD, PBM, PGM, PPM, PAM, PFM, PCX, XPM, and more | 8, 16, 24, 32, 48 and 64 bit RGB and ARGB formats, indexed formats, grayscale formats, floating point formats (IEEE754 and half precision), compressed formats like DXT1/3/5, 3Dc, and BTC |