Difference between revisions of "LazRGBGraphics"

From Lazarus wiki
Jump to navigationJump to search
(moved...)
 
(43 intermediate revisions by 10 users not shown)
Line 1: Line 1:
 +
{{LazRGBGraphics}}
 +
 
===About===
 
===About===
LazRGBGraphics is a package for fast in memory image processing and pixel manipulations (like scan line). The main class is TRGB32Bitmap which is anolog to TBitmap.
+
LazRGBGraphics is a run-time package for fast in memory image processing and pixel manipulations (like scan line).
 +
The main advantage is direct memory access to bitmap pixels with keeping ability to draw bitmap onto canvas without any time consuming widgetset memory format converting.
 +
 
 +
The main class is TRGB32Bitmap which is analog to TBitmap.
  
 
TRGB32Bitmap features:
 
TRGB32Bitmap features:
* load form file, save to file
+
* load from file, save to file
* create form TBitmap
+
* creating from TBitmap
 +
* drawing and stretchdrawing to TCanvas
 
* rotating, stretching
 
* rotating, stretching
 
* inverting colors
 
* inverting colors
* drawing primitives via canvas (TRGB32Canvas)
+
* drawing primitives via canvas (TRGB32Canvas) with emphasis on accuracy
 +
* per pixel manipulation via GetPixelPtr
  
 
The download contains the package and simple example application.
 
The download contains the package and simple example application.
Line 13: Line 20:
 
This package was designed for cross-platform usage.
 
This package was designed for cross-platform usage.
  
===Sceenshots===
+
===Screenshots===
 
[[Image:LazRGBGraphics_example.png|Example application]]
 
[[Image:LazRGBGraphics_example.png|Example application]]
 
[[Image:LazRGBGraphics_canvas.png|Drawing primitives]]
 
[[Image:LazRGBGraphics_canvas.png|Drawing primitives]]
Line 24: Line 31:
 
   
 
   
 
===Download===
 
===Download===
Comming soon...
+
[http://sourceforge.net/projects/lazarus-ccr/files/LazRGBGraphics/ LazRGBGraphics on the Lazarus CCR at SourceForge.net]
 +
 
 +
svn checkout https://svn.code.sf.net/p/lazarus-ccr/svn/components/rgbgraphics
 +
 
 +
Or get the tarball [http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/rgbgraphics.tar.gz?view=tar rgbgraphics.tar.gz]
  
 
===Change Log===
 
===Change Log===
 +
* Version 0.2.1
 +
** fixed compilation for GTK, use define GTK_POST_0924 if you are using Lazarus 0.9.25 or higher
 +
** fixed saving, loading and copying
 +
** ''requires Lazarus 0.9.24 or higher''
 +
* Version 0.2
 +
** implementation for Carbon
 +
** ''requires Lazarus 0.9.24 or higher''
 
* Version 0.1
 
* Version 0.1
TODO:
+
 
* halftone stretching 0.2
+
===TODO===
* polygons 0.2
+
* halftone stretching 0.3
* masking 0.2
+
* polygons 0.3
* alpha blending 0.3
+
* masking 0.3
 +
* alpha blending 0.4
  
 
===Notes===
 
===Notes===
Line 38: Line 57:
  
 
Issues:  
 
Issues:  
* Tested on Windows XP
+
* Does not yet work with QT widgetset
* Tested with gtk1 and gtk2 under Linux (Kubuntu 6.06).
+
* tested with win32/64 and gtk2 on Windows XP
 +
* tested with carbon and gtk2 on Mac OS X 10.4.7 (Intel)
 +
* tested with carbon and gtk1 on Mac OS X 10.4.7 (PPC)
 +
* tested with gtk1 and gtk2 under Linux (Kubuntu 6.06)
 +
* tested with gtk1 under FreeBSD 6.1 (by Almindor)
 +
* tested on AMD64 with gtk1 Debian/Etch  (by Tanila)
  
 
===Installation===
 
===Installation===
 
Add LazRGBGraphics package as dependancy to the project and RGBGraphics to the uses section.
 
Add LazRGBGraphics package as dependancy to the project and RGBGraphics to the uses section.
 +
 +
[[Category:Components]]
 +
[[Category:Graphics]]
 +
[[Category:Lazarus-CCR]]

Latest revision as of 16:05, 21 June 2016

English (en) français (fr) 中文(中国大陆)‎ (zh_CN)

About

LazRGBGraphics is a run-time package for fast in memory image processing and pixel manipulations (like scan line). The main advantage is direct memory access to bitmap pixels with keeping ability to draw bitmap onto canvas without any time consuming widgetset memory format converting.

The main class is TRGB32Bitmap which is analog to TBitmap.

TRGB32Bitmap features:

  • load from file, save to file
  • creating from TBitmap
  • drawing and stretchdrawing to TCanvas
  • rotating, stretching
  • inverting colors
  • drawing primitives via canvas (TRGB32Canvas) with emphasis on accuracy
  • per pixel manipulation via GetPixelPtr

The download contains the package and simple example application.

This package was designed for cross-platform usage.

Screenshots

Example application Drawing primitives

Author

Tom Gregorovic

License

Modified LGPL

Download

LazRGBGraphics on the Lazarus CCR at SourceForge.net

svn checkout https://svn.code.sf.net/p/lazarus-ccr/svn/components/rgbgraphics

Or get the tarball rgbgraphics.tar.gz

Change Log

  • Version 0.2.1
    • fixed compilation for GTK, use define GTK_POST_0924 if you are using Lazarus 0.9.25 or higher
    • fixed saving, loading and copying
    • requires Lazarus 0.9.24 or higher
  • Version 0.2
    • implementation for Carbon
    • requires Lazarus 0.9.24 or higher
  • Version 0.1

TODO

  • halftone stretching 0.3
  • polygons 0.3
  • masking 0.3
  • alpha blending 0.4

Notes

Status: Alpha

Issues:

  • Does not yet work with QT widgetset
  • tested with win32/64 and gtk2 on Windows XP
  • tested with carbon and gtk2 on Mac OS X 10.4.7 (Intel)
  • tested with carbon and gtk1 on Mac OS X 10.4.7 (PPC)
  • tested with gtk1 and gtk2 under Linux (Kubuntu 6.06)
  • tested with gtk1 under FreeBSD 6.1 (by Almindor)
  • tested on AMD64 with gtk1 Debian/Etch (by Tanila)

Installation

Add LazRGBGraphics package as dependancy to the project and RGBGraphics to the uses section.