From d0a9b9a03fc7ae74ef8a64593ac6b592526ec4d5 Mon Sep 17 00:00:00 2001 From: pp Date: Wed, 19 May 2004 04:59:31 +0000 Subject: - initial import git-svn-id: https://siedziba.pl:790/svn/repos/php-imlib/trunk@7 455248ca-bdda-0310-9134-f4ebb693071a --- README | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 README (limited to 'README') diff --git a/README b/README new file mode 100644 index 0000000..097905d --- /dev/null +++ b/README @@ -0,0 +1,78 @@ +PHP Imlib2 Extension (php_imlib) +================================ + +This extension, as one might expect, provides access to Rasterman's +excellent image library, Imlib2. The extension is coming together fairly +well, with probably four fifths of the Imlib2 API ported which I've been +aiming for (There are parts of Imlib2 used specifically for X applications, +which of course, we don't need in a PHP extension). See "About php_imlib" +below and the contents of the docs directory for more information on the +extension. + + +Requirements +------------ +See INSTALL for where to get the required libraries. Imlib2, freetype, +libjpeg, and libpng should work on most Unices, I don't know how portable +edb is. + +Briefly, the requirements are: + +A Unix or Linux OS +PHP >= 4.0.1 (4.0.4 recommended) +Imlib2 >= 1.0.0 +edb >= 1.0 +freetype >= 1.3.1 +libjpeg +libpng + + +What's Wrong With GD? +--------------------- +There's nothing wrong with GD, I just wanted an alternative. Aside from +that, Imlib2 is a faster, more powerful library. + + +Caveats +------- +Imlib2 is not thread safe. While this isn't a large concern at the +moment, it will become a more important issue as Apache 2 develops and +threaded httpd installations become more common. + + +About php_imlib +--------------- +The general idea behind php_imlib is to mimick the function names and their +parameters as closely as possible at the extension level. However since +Imlib2 uses a singleton context that I'd rather not duplicate in the +extension, most functions will require extra parameters to establish context. +As we've developed php_imlib, a few needs have also come up which Imlib2 +doesn't address. In those cases we've defined functions in php_imlib which +aren't present in Imlib2. So far we've added three functions: +imlib_dump_image, for outputting an image to stdout (Comporable to GD's +ImagePng($im)), imlib_image_modify_alpha, and imlib_create_scaled_image, a +shortcut of imlib_create_cropped_scaled_image, which is ideal for creating a +scaled copy of the whole image quickly, such as for generating thumbnails. + +To combat the need to have a large number parameters for some of the more +complex functions, I had written a single PHP class to wrap the extension in +version 0.1. However as I developed 0.2, that clearly became insufficent. So, +starting with 0.2 I've included a handful of more reasonably sized classes +that spread things out nicely. I'm fairly pleased with how they've turned +out, but as always, feedback is encouraged. More extensive documentation on +the classes is available in the phpdoc directory. + +In the first release, I had also included an abstract image class that +allowed the use of GD and php_imlib with the same code. At least for the +time being, that's been scrapped, since it was never implemented fully at +the time, and would've occupied far more time than it was worth this time +around. So, I filed that one away under "bad idea". + + +Function Reference +------------------ +The extension functions are covered in docs/api.txt, the class files are +covered in the phpdoc directory (html only). Both are available online: + +http://mmcc.cx/php_imlib/documentation.php +http://mmcc.cx/php_imlib/phpdoc/ -- cgit v1.2.3