Avatar billede kalsmose Nybegynder
23. april 2009 - 09:54 Der er 7 kommentarer og
1 løsning

Evaluering af crop script

Hej Eksperter

Jeg ønsker at få gennemtestet mit php image crop scipt



Her kommer scriptet:

<?php

class crop
{
    var $imgSrc; #stien på billede som skal resizes
    var    $org_width = 720; #billede brede
    var $org_height = 480; #billede højde
       
    var $new_src; # stien på det billede som skal oprettes
    var $new_width =120; # ny højde
    var $new_height =100; # ny brede
    var $pos_y; # beskærings position y
    var $pos_x; # beskærings position x
   
    #hvis beskærings position ikke er angivet, bliver en tilfældig position givet###################
        function pos()
        {
        if(!is_numeric($this->pos_x)){ $this->pos_x = rand(0,$this->org_width-$this->new_width); }
        if(!is_numeric($this->pos_y)){ $this->pos_y = rand(0,$this->org_height-$this->new_height); }

        }   
    ################################################################################################

    #opretter billede og gemmer det på angivet sti##################################################
            function make()
            {
                $this->pos();
               
                $thumb     =    imagecreatetruecolor($this->new_width,$this->new_height);
                $tmp    =    imagecreatefromjpeg($this->imgSrc);
                   
                    imagecopyresampled($thumb, $tmp, 0, 0, $this->pos_x, $this->pos_y, $this->org_width, $this->org_height, $this->org_width, $this->org_height);
                   
                    imagejpeg($thumb,$this->new_src);
                   
                    imagedestroy($tmp);
                    imagedestroy($thumb);
               
            }
    ##############################################################################################
}


?>
Avatar billede jakobdo Ekspert
23. april 2009 - 10:12 #1
var    $org_width = 720; #billede brede
    var $org_height = 480; #billede højde
Burde de ikke aflæses fra billedet man arbejder med ?

Og du bør ikke anvende:

var $variable; //Det er php4 style.
Brug hellere:

//php5 style
private $variable;
eller
public $variable;
Avatar billede kalsmose Nybegynder
23. april 2009 - 10:44 #2
ang:
var $org_width = 720; #billede brede
var $org_height = 480; #billede højde

så betyder det ikke det store for mig :)

$foo = new crop;

list($foo->width,$foo->heigth) = getimagesize(billede)

og så hehe  php4 style, ja det skal vel laves om.

takker for hjælpen hvis du har andre ide'er skal du endelig ikke holde dig tilbage
Avatar billede jakobdo Ekspert
23. april 2009 - 10:47 #3
Jeg synes måske denne er lidt underlig:

#hvis beskærings position ikke er angivet, bliver en tilfældig position

Hvorfor ikke bare lade den croppe halvdelen, det hele eller give brugeren besked, på denne info mangler ?
Avatar billede kalsmose Nybegynder
23. april 2009 - 10:50 #4
give brugern besked ?
Avatar billede kalsmose Nybegynder
23. april 2009 - 11:00 #5
altså hvis jeg gerne vil croppe et billede med min class gør jeg følgene:


$foo = new crop;
list($foo->width,$foo->heigth) = getimagesize(billede);
$foo->imgSrc = billede sti;
$foo->new_src = sti og navn på det nye billede;
$foo->make();

hvis jeg vil have informationer om foo skriver jeg dem jo bare ud

echo $foo->new_width;
Avatar billede jakobdo Ekspert
23. april 2009 - 11:05 #6
Jo, men du kunne smide en exception, throw new exception('crop size is missing...');

Og når en bruger så kalder din klasse med:

try(..)
catch(..)
så giver det mening.
Avatar billede kalsmose Nybegynder
23. april 2009 - 11:10 #7
det hele eller give brugeren besked, på denne info mangler

lol jeg er dum :P det er fordi classen er lavet til at croppe billeder og ikke resize dem.

classen tager en lille del af billedet og lavet en thumbnail af det

hvorfor: fordi det ser godt ud

grunden til at man kan skrive manuelt kommer af at jeg er igang med at lave en js cropper så brugern selv kan vælge hvor billedet skal croppes, men hvis brugern ikke ønsker det gør den det automatisk, jeg sys selv det er smart, men det kan vel være jeg skal tage det til efter tanke
Avatar billede kalsmose Nybegynder
17. januar 2012 - 15:13 #8
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester