Difference between revisions of "LazRGBGraphics"

From Free Pascal wiki
Jump to navigationJump to search
Line 38: Line 38:
 
* Version 0.2
 
* Version 0.2
 
** implementation for Carbon
 
** implementation for Carbon
 +
** ''requires Lazarus 0.9.24 or higher''
 
* Version 0.1
 
* Version 0.1
 +
 
===TODO===
 
===TODO===
 
* halftone stretching 0.3
 
* halftone stretching 0.3

Revision as of 13:22, 3 September 2007

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

About

LazRGBGraphics is 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 widgetset time consuming memory format converting.

The main class is TRGB32Bitmap which is anolog 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.

Sceenshots

Example application Drawing primitives

Author

Tom Gregorovic

License

Modified LGPL

Download

LazRGBGraphics on the Lazarus CCR at SourceForge.net

SVN: https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/rgbgraphics

Change Log

  • 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:

  • tested with win32/64 and gtk2 on Windows XP
  • tested with carbon and gtk2 on Mac OS X 10.4.7 (Intel)
  • 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.