PHP Classes
Icontem

File: img.class.php


  Search   All class groups All class groups   Latest entries Latest entries   Top 10 charts Top 10 charts   Newsletter Newsletter   Blog Blog   Forums Forums   Help FAQ Help FAQ  
  Login   Register  
Recommend this page to a friend! ReTweet ReTweet Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Silvio Rainoldi  >  Add mark at images  >  img.class.php  
File: img.class.php
Role: Class source
Content type: text/plain
Description: add watermark and resize images
Class: Add mark at images
Resize and apply watermark to images
 

Contents

Class file image Download
<?php
 
/*
    iaTermark
    Created by Silvio Rainoldi
    www.ianaz.ch
 */
class img 
{    
    var 
$thumb_w 172// larghezza thumb
    
var $thumb_h 130// altezza thumb
    
var $max_w 720// larghezza max
    
var $max_h 540// altezza max
    
var $pos_x "RIGHT"// posizione logo
    
var $pos_y "BOTTOM"// posizione logo
    
var $img_folder ""// cartella immagine grande
    
var $thumb_folder ""// cartella immagine thumb
    
var $saveBIG 1//salvare immagine grande
    
var $saveTHUMB 1//salvare thumb
    
var $name ""//nome immagine senza estensione

    
function AddLogo($image$logo NULL)
    {
        
$this->im $this->createImage($image);
        
$this->im_width imagesx($this->im);
        
$this->im_height imagesy($this->im);
        
$this->wt_x $this->calc_pos_x($this->pos_x);
        
$this->wt_y $this->calc_pos_y($this->pos_y);
        
$this->new_image $this->resizeImg();
        
        
$this->resizeForThumb();
        if(
$logo != NULL)
        {
            
$this->createTheLogo($logo);                
        }
        if(
$this->name==""){
            
$this->name substr($imagestrrpos($image"."));
        }
        if(
$this->saveBIG == 1)
        {
            
imagejpeg($this->new_image$this->img_folder.$this->name."_big.jpg");
        }
        if(
$this->saveTHUMB == 1)
        {
            
imagejpeg($this->thumb$this->thumb_folder.$this->name."_small.jpg");
        }
        
    }
    
    function 
createImage($image){
        
$type strtolower(substr($imagestrrpos($image"."), strlen($image)-strrpos($image".")));
        if(
$type==".jpeg" || $type==".jpg"){
            return 
imagecreatefromjpeg($image);
        }elseif(
$type==".gif"){
            return 
imagecreatefromgif($image);
        }elseif(
$type==".png"){
            return 
imagecreatefrompng($image);
        }else{
            die(
"Immagine non valida");
        }
    }
    
    function 
createTheLogo($logo)
    {
        
$this->logo $this->createImage($logo);
        
$this->logo_width imagesx($this->logo);
        
$this->logo_height imagesy($this->logo);
        
$this->wt_x $this->calc_pos_x($this->pos_x);
        
$this->wt_y $this->calc_pos_y($this->pos_y);
        
imagecopy($this->new_image$this->logo$this->wt_x$this->wt_y00$this->logo_width$this->logo_height);
    }
        
        
    function 
resizeImg()
    {

        if(
$this->im_width $this->max_w && $this->im_height $this->max_h)
        {
        
            
$rapporto $this->max_w $this->im_width;
            
            
$this->new_im_w $this->im_width $rapporto;
            
$this->new_im_h $this->im_height $rapporto;
            
        }
        
        else if(
$this->im_width $this->max_w && $this->im_height $this->max_h)
        {
        
            
$rapporto $this->max_h $this->im_height;
            
            
$this->new_im_w $this->im_width $rapporto;
            
$this->new_im_h $this->im_height $rapporto;
        
        }
        else if(
$this->im_width $this->max_w && $this->im_height $this->max_h)
        {
        
            
$rapporto_1 $this->max_w $this->im_width;
            
$rapporto_2 $this->max_h $this->im_height;
                if(
$rapporto_1 $rapporto_2)
                {
                    
$rapporto $rapporto_2;
                }
                else
                {
                    
$rapporto $rapporto_1;
                }
                    
                    
$this->new_im_w $this->im_width $rapporto;
                    
$this->new_im_h $this->im_height $rapporto;
        
        }
        
        else
        {
            
$this->new_im_w $this->im_width;
            
$this->new_im_h $this->im_height;
        }
        
        
$this->new_image imagecreatetruecolor($this->new_im_w$this->new_im_h);
        
imagecopyresized($this->new_image$this->im0000$this->new_im_w$this->new_im_h$this->im_width$this->im_height);
        
        return 
$this->new_image;

    }
    
    function 
resizeForThumb(){
        
$thumb_w $this->thumb_w;
        
$thumb_h $this->thumb_h;
        if(
$this->im_width $this->im_height)
        {
            
$rapporto $this->im_height $this->im_width;
            
$thumb_h $this->thumb_h $rapporto;
            
$thumb_w $this->thumb_w $rapporto;
        }    
        else if(
$this->im_width $this->im_height)
        {
            
$rapporto $this->im_width $this->im_height;
            
$thumb_w $this->thumb_w $rapporto;
        }
        else
        {
            
$thumb_w $this->thumb_w;
            
$thumb_h $this->thumb_h;
        }
        
$this->thumb imagecreatetruecolor($thumb_w$thumb_h);
        
imagecopyresized($this->thumb$this->new_image0000$thumb_w$thumb_h$this->new_im_w$this->new_im_h);
    }
        
    function 
calc_pos_x($position_x)
        {
        
$x 0;
        switch(
$position_x)
        {
            case 
'LEFT':
                
$x 0;
                break;
            case 
'CENTER':
                
$x = @$this->new_im_w - @$this->logo_width 2;
                break;
            case 
'RIGHT':
                
$x = @$this->new_im_w - @$this->logo_width;
                break;
            default:
                
$x 0;
        }
            return 
$x;
        
        }
        
        function 
calc_pos_y($position_y)
        {
        
$y 0;
        switch(
$position_y)
        {
            case 
'TOP':
                
$y 0;
                break;
            case 
'MIDDLE':
                
$y = @$this->new_im_h - @$this->logo_height 2;
                break;
            case 
'BOTTOM':
                
$y = @$this->new_im_h - @$this->logo_height;
                break;
            default:
                
$y 0;
        }
    return 
$y;
        
        }
        
}
    
?> 

 
  Advertise on this site Advertise on this site   Site map Site map   Statistics Statistics   Site tips Site tips   Privacy policy Privacy policy   Contact Contact  

For more information send a message to :
info at phpclasses dot org.
Copyright (c) Icontem 1999-2009 PHP Classes - PHP Class Scripts
  PHP Book Reviews - Reviews of books and other products