Login   Register  
PHP Classes
elePHPant
Icontem

File: pixel.pimg.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Tony Bogdanov  >  PIMG  >  pixel.pimg.php  >  Download  
File: pixel.pimg.php
Role: Class source
Content type: text/plain
Description: Pixel representation class
Class: PIMG
Process images using multiple operations
Author: By
Last change: 1.1
Date: 2010-10-31 18:38
Size: 2,543 bytes
 

Contents

Class file image Download
<?php
/* PIMG module: represents a single pixel from the image */
class pimg_pixel
{
    
/* Resources */
    
private $pimg;
    private 
$x;
    private 
$y;
    private 
$color;
    
    
// PIMG constructor
    
function __construct($pimg)
    {
        
$this -> pimg $pimg;
    }
    
    
    
    
/*
        Sets pixel properties
        @param: $x - the x position in the image
        @param: $y - the y position in the image
        @param: $color - a valid pimg_color resource
    */
    
function init($x$y$color)
    {
        
/* INPUT VALIDATORS */
        
if ($x 0)
        {
            
$x 0;
            
$this -> pimg -> setDebug('X position must be >= 0, using 0 as default''notice'__CLASS__);
        }
        if (
$y 0)
        {
            
$y 0;
            
$this -> pimg -> setDebug('Y position must be >= 0, using 0 as default''notice'__CLASS__);
        }
        if (!
$color instanceOf pimg_color)
            
$this -> pimg -> setDebug('Passed color is not a valid pimg_color instance''error'__CLASS__);
        
        
        
// Set pixel properties
        
$this -> x        $x;
        
$this -> y        $y;
        
$this -> color    $color;
        
        
// Return an instance of the class
        
return $this;
    }
    
    
    
    
/*
        If the user wants to view the pixel info for debugging this method will return a string representation of it
        @result: string info
    */
    
function __toString()
    {
        return 
'x: ' $this -> ', y: ' $this -> ', color: [ ' $this -> color ' ]';
    }
    
    
    
    
/*
        Sets or gets the x value
        @param: $x
        @result: hande of the class or x value
    */
    
public function x($x null)
    {
        if (isset(
$x))
        {
            
$this -> $x;
            return 
$this;
        }
        else
            return 
$this -> x;
    }
    
    
    
    
/*
        Sets or gets the y value
        @param: $y
        @result: hande of the class or y value
    */
    
public function y($y null)
    {
        if (isset(
$y))
        {
            
$this -> $y;
            return 
$this;
        }
        else
            return 
$this -> y;
    }
    
    
    
    
/*
        Sets or gets the color value
        @param: $color
        @result: hande of the class or hande of pimg_color representing pixel's color
    */
    
public function color($color null)
    {
        if (isset(
$color))
        {
            
$this -> color $color;
            return 
$this;
        }
        else
            return 
$this -> color;
    }
    
    
    
    
/*
        Draws the pixel to the parent pimg image or the given pimg image
        @result: handle of the pimg class
    */
    
public function draw($pimg null)
    {
        
// Draw the pixel
        
$pimg = (empty($pimg)) ? $this -> pimg $pimg;
        
imagesetpixel($pimg -> handle(), $this -> x$this -> y$this -> color -> allocate());
        
        
// Return handle of the class
        
return $pimg;
    }
}
?>