graphic-php-litestamp.php / php
<?php // NOTE: class is experimental // Copyright (c) 2006, Simon Jansson <http://www.litewebsite.com> all rights reserved. // License <http://litewebsite.com/license_BSD.html> //liteStamp::GDversion(); // //stamp->stampPicture(); class LiteStamp{ // class variables private newPictureName = null; private pictureName = null; private stampInfo = null; private stampXpos = null; private picture, prefix = 'stamp_'){ picture; // original picture to place stamp/watermark on stamp; // stamp/watermark picture prefix; // prefix of new stamped picture }// end of construct public static function GDversion(){ // GD 2.0.28 or newer is recommended version to use // http://www.php.net/manual/en/function.gd-info.php var_dump(gd_info()); // dump information about your GD version return true; }// end of GDversion private function openImage(type){ // open picture with correct image function. Add more types if needed. // GIF: http://php.net/manual/en/function.imagecreatefromgif.php // JPG/JPEG: http://php.net/manual/en/function.imagecreatefromjpeg.php // PNG: http://php.net/manual/en/function.imagecreatefrompng.php switch (// GIF this->fileHandle = imagecreatefromgif(// case 1 case 2: // JPG/JPEG this->fileHandle = imagecreatefromjpeg(// case 2 case 3: // PNG this->fileHandle = imagecreatefrompng(// case 3 default: die('Unsupported filetype: '.fileName); } return // end of openImage public function stampPicture(){ // get picture info such as width, height and extension // http://php.net/manual/en/function.getimagesize.php this->pictureInfo = getimagesize(this->stampInfo = getimagesize(// open images with class method openImage() this->pictureFile = this->pictureName, this->stampFile = this->stampName, // position the stamp in the lower right corner this->stampXpos = this->stampInfo[0] - 15; // width - width - margin this->pictureInfo[1] - // height - height - margin // set a new name for the stamped picture and keep the original picture intact this->newPictureName = this->pictureName; // alpha blending: http://php.net/manual/en/function.imagealphablending.php imagealphablending(// merge the two images: http://php.net/manual/en/function.imagecopymerge.php imagecopymerge(this->pictureFile, this->stampXpos, this->stampInfo[0], // output the stamped image as GIF, JPG/JPEG or PNG. Add more types if needed. // default type is the same as the original file // GIF: http://php.net/manual/en/function.imagegif.php // JPG/JPEG: http://php.net/manual/en/function.imagejpeg.php // PNG: http://php.net/manual/en/function.imagepng.php switch (this->pictureInfo[2]){ case 1: // GIF imagegif(this->newPictureName); break;// case 1 case 2:// JPG/JPEG imagejpeg(this->newPictureName); break;// case 2 case 3: // PNG imagepng(this->newPictureName); break;// case 3 default: die('Unsupported filetype: './/echo 'finished'; return true; }// end of stampPicture function destruct(){ unset(fileHandle, pictureInfo, prefix, stampName, stampYpos); }// end of destruct }// end of class ?>
(C) Æliens 20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.