|
|
|
|
|
|
| |
This is an advanced waterMarker class for PHP. With this, you can watermark your images with many features. It supports the followings
1. Angle of Text
2. Shadowed Text
3. Smooth Text(Antialiasing), Sharp Text(Non-Antialiasing)
4. Any Image Format, you have no extra overload
5. Any FontSize
6. Any TTF Font
7. Customizable Horizontal and Vertical Spacing between two successive watermark
8. Supports Direct Watermarking over http protocol and also relative or absolute path of image file. I mean if u use this type code http://urdomain.com/imageMarker.php?code=http://anotherdomain/image.jpg it will also work.
This image watermarker is fully commented. Its will really be helpful for many of you.
Thanks
Hasin Hayder
http://hasin.phpxperts.com
ImageMarker.php
| <?
/*****************************************
* class name : watermarker
* developed by : hasin hayder
* date : 050509 10PM (9th may, 2005 , 10 PM)
* dependency : gd library and freetype
* version : 2.00
*****************************************/
class waterMarker
{
var $imagePath; //valid absolute path to image file
var $waterMarkText = "copyrighted"; //the text to draw as watermark
var $signature = "version 1.0"; //just the class file signature
var $font = "arial.ttf"; //font file to use for drawing text. need absolute path
var $size = 10; //font size
var $angle = 45; //angle to draw watermark text
var $hSpacing = 120; //horizontal spacing betweeen two sucessive watermark text
var $vSpacing = 120; //vertical spacing betweeen two sucessive watermark text
var $imageResource; //to store the image resource after completion of watermarking
var $imageType="jpg"; //this could be either of png, jpg, jpeg, bmp, or gif (if gif then output will be in png)
var $shadow = false; //if set to true then a shadow will be drawn under every watermark text
var $antialiased = true; //if set to true then watermark text will be drwan anti aliased. this is recommended
function mark()
{
/****************************************************************
* this function draw the watermark over the image
* parameteres : none
* return value : image resource after completion of watermarking
****************************************************************/
list($width, $height, $type, $attr) = getimagesize($this->imagePath); //get basic properties of the image file
switch ($this->imageType)
{
/************************************************************************
* this portion uses PHP's advanced variable function facility
* and determine generalized function to create and deply images.
* $createProc is a generalized reference of image creation function
* $outputProc is a generalized reference of image deploying functionm
************************************************************************/
case "png":
$createProc = "imagecreatefrompng";
$outputProc = "imagepng";
break;
case "gif";
$createProc = "imagecreatefromgif";
$outputProc = "imagepng";
break;
case "bmp";
$createProc = "imagecreatefrombmp";
$outputProc = "imagebmp";
break;
case "jpeg":
case "jpg":
$createProc = "imagecreatefromjpeg";
$outputProc = "imagejpeg";
break;
}
$im = $createProc($this->imagePath); //create the image with generalized image create function
$grey = imagecolorallocate($im, 180, 180, 180); //color for watermark text
$shadowColor = imagecolorallocate($im, 130, 130, 130); //color for shadow text
if (!$this->antialiased)
/******************************************************************************
* if its need to draw non-antialiased text then just set the color = -1*color
* then the text drawn with this color will be sharp (non-antialiased)
******************************************************************************/
{
$grey *= -1; //grey = grey * -1
$shadowColor *= -1; //shadowColor = shadowColor * -1
}
for ($x=20; $x<$width; $x+=$this->hSpacing)
/*******************************************
* now draw water mark text and shadow text
*******************************************/
{
for ($y=20; $y<$width; $y+=$this->vSpacing)
{
if ($this->shadow) imagettftext($im, $this->size, $this->angle, $x+1, $y+1, $shadowColor, $this->font, $this->waterMarkText); //draw shadow text over image
imagettftext($im, $this->size, $this->angle, $x, $y, $grey, $this->font, $this->waterMarkText); //draw text over image
}
}
$this->imageResource= $outputProc($im); //deploy the image with generalized image deploy function
}
}
?> | |
Ussage
| <?php
include_once("imageMarker.php");
/*******************************************
* usage of this waterMark class
*******************************************/
$imagePath = $_REQUEST['code'];
//echo $imagePath;
$imark = new waterMarker();
$imark->waterMarkText = "bdtemplates";
$imark->imagePath = $imagePath;
$imark->font="arial.ttf";
$imark->size = 14;
$imark->hSpacing=110;
$imark->vSpacing=110;
$imark->shadow=true;
$imark->angle = 45;
header("Content-type: image/jpeg");
$imark->mark(); //draw watermark
//echo $imark->imageResource;
echo $imark->imageResource;
?> | | |
|
| crop and resize image class using gd library function Categories : PHP, PHP Classes, GD image library, Graphics | | | Simple class that uses GD to draw pie charts. After the class definition there's some sample code to demonstrate how you use the class.
Categories : Graphics, PHP, PHP Classes, GD image library, Charts and Graphs | | | Image Generation Class ( PNG Format ) Categories : PHP, GD image library, PHP Classes, Graphics | | | imageMarker v 3.00 with new advanced features Categories : PHP, PHP Classes, Graphics, GD image library | | | Create Thumbnails - resize an image - jpeg, jpg, gif, png to the specifed width and height in proportion without loosing out on pixcel quality. Categories : PHP, GD image library, Graphics | | | PHP Email image generator - hide your email from bots - using the GD Library Categories : PHP, Graphics, GD image library, Beginner Guides | | | Render TTF Text to PNG. Text message, font, size, rotation, padding, color, background, and transparency can all be defined via URL. Categories : PHP, PHP Classes, Graphics | | | A damaged image generator (class) for validating text.
CAPTCHA - Completely Automated Public Turing test to tell Computers and Humans Apart Categories : PHP, PHP Classes, Security, GD image library, Security | | | Display a bar chart based on random values. Categories : Graphics, PHP, GD image library, Charts and Graphs | | | HTML_Graphs uses PHP to provide a consistent interface for creating HTML based charts. The user of the class sets up arrays that are passed to html_graph() which then takes care of all the messy HTML layout. Categories : Graphics, Arrays, PHP, PHP Classes, Charts and Graphs | | | SPL and ITERATOR : examples Categories : PHP, Object Oriented, PHP Classes, Sessions | | | Three Cool Classes and One Trick Categories : PHP, PHP Classes, Graphics, Email | | | Line graphics generation library written in PHP + GD library (spanish comments) Categories : PHP, Graphics, GD image library | | | PHPDRAW, the php wannabe Photoshop ;-) Categories : PHP, PHP Classes, GD image library, Arrays | | | Access_user Class - an easy to use system for protecting pages and register users. Categories : PHP, Classes and Objects, Object Oriented, PHP Classes, Authentication | |
|
|
|