PHP Classes

File: include/functions.php

Recommend this page to a friend!
  Classes of Salvatore Caltabiano   Image to ASCII text   include/functions.php   Download  
File: include/functions.php
Role: Auxiliary script
Content type: text/plain
Description: Various functions about image GD lib manipulation
Class: Image to ASCII text
Render an image using ASCII characters
Author: By
Last change:
Date: 17 years ago
Size: 4,228 bytes
 

Contents

Class file image Download
<?php

// This code was realized totally by Caltabiano Salvatore 22/02/2007
// Before use this code off of local use, you have to ask to me about that.

function addZeros($num,$cf){
   
$cfn = strlen($num);
   
$ris = '';
    while(
$cfn<$cf){
       
$ris .= '0';
       
$cfn++;
    }
   
$ris .= $num;
    return
$ris;
}

function
resizeIMG($flnamein,$flnameout,$flwidth = 0, $flheight = 0){
global
$curMember;

// 1 = GIF, 2 = JPG, 3 = PNG

$errorimg = "error.gif";
$filenameimg = "error.gif";
$filenameimgout = "errorimg.gif";

if ( isset(
$flnamein) )
   
$filenameimg = $flnamein;
if ( isset(
$flnameout) )
   
$filenameimgout = $flnameout;

if ( isset(
$flwidth) && $flwidth > 0 )
{
   
$widthimg = intval($flwidth);
    if (
$widthimg < 10 )
       
$widthimg = 10;
}
if ( isset(
$flheight) && $flheight > 0 )
{
   
$heightimg = intval($flheight);
    if (
$heightimg < 10 )
       
$heightimg = 10;
}

if ( !isset(
$filenameimg) || !@fopen($filenameimg,"r+b") )
   
$filenameimg = $errorimg;

$attribimg = @getimagesize($filenameimg);

//$attribimg[0] : $attribimg[1] = $widthimg : $heightimg
if ( isset($widthimg) && !isset($heightimg) )
   
$heightimg = intval( ($attribimg[1]*$widthimg)/$attribimg[0] );
else
if ( !isset(
$widthimg) && isset($heightimg) )
   
$widthimg = intval( ($attribimg[0]*$heightimg)/$attribimg[1] );
else
if ( !isset(
$widthimg) && !isset($heightimg) )
{
   
$widthimg = $attribimg[0];
   
$heightimg = $attribimg[1];
}

$resizedimg = imagecreatetruecolor($widthimg,$heightimg+20);

switch (
$attribimg[2])
{
    case
1:
       
$origimg = imagecreatefromgif($filenameimg);
        break;

    case
2:
       
$origimg = imagecreatefromjpeg($filenameimg);
        break;

    case
3:
       
$origimg = imagecreatefrompng($filenameimg);
        break;
}

imagecopyresized($resizedimg, $origimg, 0, 0, 0, 0, $widthimg, $heightimg, $attribimg[0], $attribimg[1]);

$textImage = "IP: ".getenv("REMOTE_ADDR");
$textImage .= " - DATE: ".date("d M, Y - H:i:s");
$text_color = imagecolorallocate($resizedimg, 255, 255, 255);
imagestring($resizedimg, 4, 20, $heightimg+2, $textImage, $text_color);

switch (
$attribimg[2])
{
    case
1:
       
//header("Content-type: image/gif");
       
imagegif($resizedimg,$filenameimgout);
    break;

    case
2:
       
//header("Content-type: image/jpeg");
       
imagejpeg($resizedimg,$filenameimgout,85);
    break;

    case
3:
       
//header("Content-type: image/png");
       
imagepng($resizedimg,$filenameimgout);
    break;
}

// destroy the images
imagedestroy($resizedimg);
imagedestroy($origimg);
}

function
addImageFile($file, $IMG_PATH = "files/images/", $widthimg = 1024, $heightimg = 768)
{
        if (
strlen($file['tmp_name']) == 0 )
            return
"";

        if (
$file['type'] != "image/gif" && $file['type'] != "image/pjpeg" && $file['type'] != "image/jpeg" && $file['type'] != "image/x-png")
            return
"";

       
$filename = $file['name'];

// THIS CICLE CHECK IF EXIST A FILE WITH SAME NAME OF $filename, AND IF EXIST IT CHANGE IT IN $filename + "_XXXX.EXT", WHERE XXXX IS A NUMBER THAT INCREMENT IS ALREDY EXIST ANOTHER FILE WITH SAME NAME AND .EXT IS THE EXTENSION OF FILE
       
$c = 0;
       
$filenameapp = $filename;
        do{
           
$fpin = @fopen($IMG_PATH.$filenameapp,"r+b");
            if (
$fpin )
            {
               
$fileapp = explode(".",$filename);
               
$filenameapp = "";
               
$j = 0;
                while ( isset(
$fileapp[$j+1]) )
                {
                   
$filenameapp .= $fileapp[$j++];
                    if (isset(
$fileapp[$j+1])) $filenameapp .= ".";
                }
               
$filenameapp .= "_".addZeros($c,4).".".$fileapp[$j];
               
$c++;
               
fclose($fpin);
            }
        }while(
$fpin);
// END CICLE ...

// RESIZE THE IMAGE USING FUNCTION resizeIMG() AND SAVE THE FILE IN A PATH
       
$attribimg = @getimagesize($file['tmp_name']);
        if (
$attribimg[0] >= $attribimg[1] )
        {
            if (
$attribimg[0] > $widthimg )
               
resizeIMG($file['tmp_name'],$IMG_PATH.$filenameapp,$widthimg);
            else
               
resizeIMG($file['tmp_name'],$IMG_PATH.$filenameapp,$attribimg[0],$attribimg[1]);
        }
        else
        {
            if (
$attribimg[1] > $heightimg )
               
resizeIMG($file['tmp_name'],$IMG_PATH.$filenameapp,0,$heightimg);
            else
               
resizeIMG($file['tmp_name'],$IMG_PATH.$filenameapp,$attribimg[0],$attribimg[1]);
        }
// END RESIZE THE IMAGE

   
return $IMG_PATH.$filenameapp;
}

?>