Class honekin web formulario bitartez igotzen diren irudiak tratatzeko modu azkar eta eroso bat da. Nik, nire zerbitzarian, Irudiak.class.php izenarekin gordetzen det, eta ondoren include baten bitartez erabiliko dudan orrira gehitzen dut.
Lehengo adibidea:
$img = new Irudiak;
if($img -> helbidea( /var/www/proba.jpg )){
//header("Content-type: image/jpeg");
$img -> thumb( 350, 248, $dirizena, 90);
}
if($img -> bertikala()){
$img -> thumb( 248, 350, $dirizena, 90);
}
if($img -> helbidea( /var/www/proba.jpg )){
//header("Content-type: image/jpeg");
$img -> thumb( 350, 248, $dirizena, 90);
}
if($img -> bertikala()){
$img -> thumb( 248, 350, $dirizena, 90);
}
Bigarren adibidea:
$irudiaTR = new Irudiak;
if($irudiaTR -> helbidea( "IRUDIAK/img.jpg" )){
header("Content-type: image/jpeg");
$irudiaTR -> zabalera( 400 ,"", 90);
}
if($irudiaTR -> helbidea( "IRUDIAK/img.jpg" )){
header("Content-type: image/jpeg");
$irudiaTR -> zabalera( 400 ,"", 90);
}
Irudiak.class.php orriko kodea
class Irudiak //ArgazkiakTratatu
{
var $helbidea;
var $zabalera;
var $altuera;
var $mota;
function Irudiak( $mega = 40 ){
//objetua sortzerakoan orriaren memoria aunditzen dugu
ini_set( "memory_limit", $mega ."M" );
}
function thumb( $zabalera = 100, $altuera = 100, $izena = "", $kalitatea = 85 ){
//proportzioak lortu jakiteko nondik moztu
$aldea = ($zabalera * 100) / $this -> zabalera;
$luzea = ($altuera * 100) / $this -> altuera;
if( $aldea >= $luzea ){
$originalaH = $this -> zabalera;
$originalaB = ((($altuera * 100) / $zabalera) * $this -> zabalera) / 100;
}else{
$originalaH = ((($zabalera * 100) / $altuera) * $this -> altuera) / 100;
$originalaB = $this -> altuera;
}
//originala eskuratzen dugu
switch( $this -> mota ){
case "gif":
$jatorria = imagecreatefromgif( $this -> helbidea );
break;
case "jpg":
$jatorria = imagecreatefromjpeg( $this -> helbidea );
break;
case "png":
$jatorria = imagecreatefrompng( $this -> helbidea );
break;
}
// Irudia lortzen dugu
$emaitza = imagecreatetruecolor( $zabalera, $altuera );
// Tamaña aldatzen da
imagecopyresampled( $emaitza, $jatorria, 0, 0, 0, 0, $zabalera, $altuera, $originalaH, $originalaB );
ImageDestroy( $jatorria );
//emaitza itzuli edo gorde
imagejpeg( $emaitza, $izena, $kalitatea );
ImageDestroy( $emaitza );
return TRUE;
}
function ram( $mota = 'KB' ) //erabilitako memoria erakusten du
{
$erabilitakoMemoria = memory_get_usage();
switch( $mota ){
case "B":
$emaitza = $erabilitakoMemoria;
break;
case "KB":
$emaitza = round( $erabilitakoMemoria/1024, 2);
break;
case "MB":
$emaitza = round( ($erabilitakoMemoria/1024)/1024, 2);
break;
}
return $emaitza;
}
function helbidea( $artxibo_helbidea ) //irudia eskuratzen dugu
{
if( $this -> ongi( $artxibo_helbidea ) ){
$this -> helbidea = $artxibo_helbidea;
$this -> BalioakGorde($artxibo_helbidea);
return TRUE;
}else{
return FALSE;
}
}
function ongi( $helbidea ) //irudia topatzen duen jakiteko
{
if( file_exists( $helbidea ) )
{
return TRUE;
} else {
return FALSE;
}
}
function BalioakGorde( $artxiboa ) //datuak gordetzen digutugu ondorengo aldaketentzat
{
$array_img = getimagesize( $this -> helbidea );
$this -> zabalera = $array_img[0];
$this -> altuera = $array_img[1];
switch( $array_img[2] )
{
case 1:
$this -> mota = "gif";
break;
case 2:
$this -> mota = "jpg";
break;
case 3:
$this -> mota = "png";
break;
}
}
function zabalera( $zabalera, $izena = "", $kalitatea = 85 ){ //zabalera zahaztuta irudia itzuliko dugu
switch( $this -> mota ){
case "gif":
$jatorria = imagecreatefromgif( $this -> helbidea );
break;
case "jpg":
$jatorria = imagecreatefromjpeg( $this -> helbidea );
break;
case "png":
$jatorria = imagecreatefrompng( $this -> helbidea );
break;
}
//altuera berria kalulatzen dugu
$altuera = ( $zabalera * $this -> altuera ) / $this -> zabalera;
//altuera berria kalkulatu
$zabalera_berria = $zabalera;
$altuera_berria = $altuera;
//altuera zaharrak lortu
$altuera_originala = $this -> altuera;
$zabalera_originala = $this -> zabalera;
//deformaziorik ez
if( $zabalera > $altuera ){
$altuera_originala = ( $altuera * $this -> zabalera ) / $zabalera;
} else {
$zabalera_originala = ( $zabalera * $this -> altuera ) / $altuera;
}
// Irudia lortzen dugu
$emaitza = imagecreatetruecolor( $zabalera_berria, $altuera_berria );
// Tamaña aldatzen da
imagecopyresampled( $emaitza, $jatorria, 0, 0, 0, 0, $zabalera_berria, $altuera_berria, $zabalera_originala, $altuera_originala );
ImageDestroy( $jatorria );
//emaitza itzuli edo gorde
imagejpeg( $emaitza, $izena, $kalitatea );
ImageDestroy( $emaitza );
return TRUE;
}
function altuera( $altuera, $izena = "", $kalitatea = 85 ){ //altuera zahaztuta irudia itzuliko dugu
switch( $this -> mota ){
case "gif":
$jatorria = imagecreatefromgif( $this -> helbidea );
break;
case "jpg":
$jatorria = imagecreatefromjpeg( $this -> helbidea );
break;
case "png":
$jatorria = imagecreatefrompng( $this -> helbidea );
break;
}
//altuera berria kalulatzen dugu
$zabalera = ( $altuera * $this -> zabalera ) / $this -> altuera;
//altuera berria kalkulatu
$zabalera_berria = $zabalera;
$altuera_berria = $altuera;
//altuera zaharrak lortu
$altuera_originala = $this -> altuera;
$zabalera_originala = $this -> zabalera;
//deformaziorik ez
if( $zabalera > $altuera ){
$altuera_originala = ( $altuera * $this -> zabalera ) / $zabalera;
} else {
$zabalera_originala = ( $zabalera * $this -> altuera ) / $altuera;
}
// Irudia lortzen dugu
$emaitza = imagecreatetruecolor( $zabalera_berria, $altuera_berria );
// Tamaña aldatzen da
imagecopyresampled( $emaitza, $jatorria, 0, 0, 0, 0, $zabalera_berria, $altuera_berria, $zabalera_originala, $altuera_originala );
ImageDestroy( $jatorria );
//emaitza itzuli edo gorde
imagejpeg( $emaitza, $izena, $kalitatea );
ImageDestroy( $emaitza );
return TRUE;
}
function horizontala() //bidali horizontala true
{
if( $this -> zabalera > $this -> altuera ){
return TRUE;
} else {
return FALSE;
}
}
function bertikala() //bidali bertikala true
{
if( $this -> zabalera < $this -> altuera ){
return TRUE;
} else {
return FALSE;
}
}
function info() //irudiaren informazioa bidaltzen du
{
$datuak = array();
$datuak["helbidea"] = $this -> helbidea;
$datuak["zabalera"] = $this -> zabalera;
$datuak["altuera"] = $this -> altuera;
$datuak["mota"] = $this -> mota;
return $datuak;
}
}
{
var $helbidea;
var $zabalera;
var $altuera;
var $mota;
function Irudiak( $mega = 40 ){
//objetua sortzerakoan orriaren memoria aunditzen dugu
ini_set( "memory_limit", $mega ."M" );
}
function thumb( $zabalera = 100, $altuera = 100, $izena = "", $kalitatea = 85 ){
//proportzioak lortu jakiteko nondik moztu
$aldea = ($zabalera * 100) / $this -> zabalera;
$luzea = ($altuera * 100) / $this -> altuera;
if( $aldea >= $luzea ){
$originalaH = $this -> zabalera;
$originalaB = ((($altuera * 100) / $zabalera) * $this -> zabalera) / 100;
}else{
$originalaH = ((($zabalera * 100) / $altuera) * $this -> altuera) / 100;
$originalaB = $this -> altuera;
}
//originala eskuratzen dugu
switch( $this -> mota ){
case "gif":
$jatorria = imagecreatefromgif( $this -> helbidea );
break;
case "jpg":
$jatorria = imagecreatefromjpeg( $this -> helbidea );
break;
case "png":
$jatorria = imagecreatefrompng( $this -> helbidea );
break;
}
// Irudia lortzen dugu
$emaitza = imagecreatetruecolor( $zabalera, $altuera );
// Tamaña aldatzen da
imagecopyresampled( $emaitza, $jatorria, 0, 0, 0, 0, $zabalera, $altuera, $originalaH, $originalaB );
ImageDestroy( $jatorria );
//emaitza itzuli edo gorde
imagejpeg( $emaitza, $izena, $kalitatea );
ImageDestroy( $emaitza );
return TRUE;
}
function ram( $mota = 'KB' ) //erabilitako memoria erakusten du
{
$erabilitakoMemoria = memory_get_usage();
switch( $mota ){
case "B":
$emaitza = $erabilitakoMemoria;
break;
case "KB":
$emaitza = round( $erabilitakoMemoria/1024, 2);
break;
case "MB":
$emaitza = round( ($erabilitakoMemoria/1024)/1024, 2);
break;
}
return $emaitza;
}
function helbidea( $artxibo_helbidea ) //irudia eskuratzen dugu
{
if( $this -> ongi( $artxibo_helbidea ) ){
$this -> helbidea = $artxibo_helbidea;
$this -> BalioakGorde($artxibo_helbidea);
return TRUE;
}else{
return FALSE;
}
}
function ongi( $helbidea ) //irudia topatzen duen jakiteko
{
if( file_exists( $helbidea ) )
{
return TRUE;
} else {
return FALSE;
}
}
function BalioakGorde( $artxiboa ) //datuak gordetzen digutugu ondorengo aldaketentzat
{
$array_img = getimagesize( $this -> helbidea );
$this -> zabalera = $array_img[0];
$this -> altuera = $array_img[1];
switch( $array_img[2] )
{
case 1:
$this -> mota = "gif";
break;
case 2:
$this -> mota = "jpg";
break;
case 3:
$this -> mota = "png";
break;
}
}
function zabalera( $zabalera, $izena = "", $kalitatea = 85 ){ //zabalera zahaztuta irudia itzuliko dugu
switch( $this -> mota ){
case "gif":
$jatorria = imagecreatefromgif( $this -> helbidea );
break;
case "jpg":
$jatorria = imagecreatefromjpeg( $this -> helbidea );
break;
case "png":
$jatorria = imagecreatefrompng( $this -> helbidea );
break;
}
//altuera berria kalulatzen dugu
$altuera = ( $zabalera * $this -> altuera ) / $this -> zabalera;
//altuera berria kalkulatu
$zabalera_berria = $zabalera;
$altuera_berria = $altuera;
//altuera zaharrak lortu
$altuera_originala = $this -> altuera;
$zabalera_originala = $this -> zabalera;
//deformaziorik ez
if( $zabalera > $altuera ){
$altuera_originala = ( $altuera * $this -> zabalera ) / $zabalera;
} else {
$zabalera_originala = ( $zabalera * $this -> altuera ) / $altuera;
}
// Irudia lortzen dugu
$emaitza = imagecreatetruecolor( $zabalera_berria, $altuera_berria );
// Tamaña aldatzen da
imagecopyresampled( $emaitza, $jatorria, 0, 0, 0, 0, $zabalera_berria, $altuera_berria, $zabalera_originala, $altuera_originala );
ImageDestroy( $jatorria );
//emaitza itzuli edo gorde
imagejpeg( $emaitza, $izena, $kalitatea );
ImageDestroy( $emaitza );
return TRUE;
}
function altuera( $altuera, $izena = "", $kalitatea = 85 ){ //altuera zahaztuta irudia itzuliko dugu
switch( $this -> mota ){
case "gif":
$jatorria = imagecreatefromgif( $this -> helbidea );
break;
case "jpg":
$jatorria = imagecreatefromjpeg( $this -> helbidea );
break;
case "png":
$jatorria = imagecreatefrompng( $this -> helbidea );
break;
}
//altuera berria kalulatzen dugu
$zabalera = ( $altuera * $this -> zabalera ) / $this -> altuera;
//altuera berria kalkulatu
$zabalera_berria = $zabalera;
$altuera_berria = $altuera;
//altuera zaharrak lortu
$altuera_originala = $this -> altuera;
$zabalera_originala = $this -> zabalera;
//deformaziorik ez
if( $zabalera > $altuera ){
$altuera_originala = ( $altuera * $this -> zabalera ) / $zabalera;
} else {
$zabalera_originala = ( $zabalera * $this -> altuera ) / $altuera;
}
// Irudia lortzen dugu
$emaitza = imagecreatetruecolor( $zabalera_berria, $altuera_berria );
// Tamaña aldatzen da
imagecopyresampled( $emaitza, $jatorria, 0, 0, 0, 0, $zabalera_berria, $altuera_berria, $zabalera_originala, $altuera_originala );
ImageDestroy( $jatorria );
//emaitza itzuli edo gorde
imagejpeg( $emaitza, $izena, $kalitatea );
ImageDestroy( $emaitza );
return TRUE;
}
function horizontala() //bidali horizontala true
{
if( $this -> zabalera > $this -> altuera ){
return TRUE;
} else {
return FALSE;
}
}
function bertikala() //bidali bertikala true
{
if( $this -> zabalera < $this -> altuera ){
return TRUE;
} else {
return FALSE;
}
}
function info() //irudiaren informazioa bidaltzen du
{
$datuak = array();
$datuak["helbidea"] = $this -> helbidea;
$datuak["zabalera"] = $this -> zabalera;
$datuak["altuera"] = $this -> altuera;
$datuak["mota"] = $this -> mota;
return $datuak;
}
}
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.