imagerotate funktioniert nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • imagerotate funktioniert nicht

    Hi Leute,

    ich wollte ein Bild mit der Funktion imagerotate drehen. Nur leider bekomm ich den Fehler, dass die Funktion nicht gefunden wird.


    PHP: Version 4.4.0
    GD: 2.0 or higher

    Bei GD ist alles auf enabled.

    Weiß irgendwer warum das nicht funktioniert?


    gruß

  • #2
    Bei sowas guckt man zuerst ins Manual .

    Note: This function is only available if PHP is compiled with the bundled version of the GD library.

    Kommentar


    • #3
      hab ich gemacht und wie bekomm ich heraus ob bei meinem Webserver PHP bundled ist ?

      Kommentar


      • #4
        Original geschrieben von pekka
        Bei sowas guckt man zuerst ins Manual .
        Und dann hättest Du wohl das gefunden:
        PHP-Code:
        <?php

        // $src_img - a GD image resource
        // $angle - degrees to rotate clockwise, in degrees
        // returns a GD image resource
        // USAGE:
        // $im = imagecreatefrompng('test.png');
        // $im = imagerotate($im, 15);
        // header('Content-type: image/png');
        // imagepng($im);
        function imageRotate($src_img$angle$bicubic=false) {
         
           
        // convert degrees to radians
           
        $angle $angle 180;
           
        $angle deg2rad($angle);
         
           
        $src_x imagesx($src_img);
           
        $src_y imagesy($src_img);
         
           
        $center_x floor($src_x/2);
           
        $center_y floor($src_y/2);

           
        $cosangle cos($angle);
           
        $sinangle sin($angle);

           
        $corners=array(array(0,0), array($src_x,0), array($src_x,$src_y), array(0,$src_y));

           foreach(
        $corners as $key=>$value) {
             
        $value[0]-=$center_x;        //Translate coords to center for rotation
             
        $value[1]-=$center_y;
             
        $temp=array();
             
        $temp[0]=$value[0]*$cosangle+$value[1]*$sinangle;
             
        $temp[1]=$value[1]*$cosangle-$value[0]*$sinangle;
             
        $corners[$key]=$temp;   
           }
          
           
        $min_x=1000000000000000;
           
        $max_x=-1000000000000000;
           
        $min_y=1000000000000000;
           
        $max_y=-1000000000000000;
          
           foreach(
        $corners as $key => $value) {
             if(
        $value[0]<$min_x)
               
        $min_x=$value[0];
             if(
        $value[0]>$max_x)
               
        $max_x=$value[0];
          
             if(
        $value[1]<$min_y)
               
        $min_y=$value[1];
             if(
        $value[1]>$max_y)
               
        $max_y=$value[1];
           }

           
        $rotate_width=round($max_x-$min_x);
           
        $rotate_height=round($max_y-$min_y);

           
        $rotate=imagecreatetruecolor($rotate_width,$rotate_height);
           
        imagealphablending($rotatefalse);
           
        imagesavealpha($rotatetrue);

           
        //Reset center to center of our image
           
        $newcenter_x = ($rotate_width)/2;
           
        $newcenter_y = ($rotate_height)/2;

           for (
        $y 0$y < ($rotate_height); $y++) {
             for (
        $x 0$x < ($rotate_width); $x++) {
               
        // rotate...
               
        $old_x round((($newcenter_x-$x) * $cosangle + ($newcenter_y-$y) * $sinangle))
                 + 
        $center_x;
               
        $old_y round((($newcenter_y-$y) * $cosangle - ($newcenter_x-$x) * $sinangle))
                 + 
        $center_y;
            
               if ( 
        $old_x >= && $old_x $src_x
                     
        && $old_y >= && $old_y $src_y ) {

                   
        $color imagecolorat($src_img$old_x$old_y);
               } else {
                 
        // this line sets the background colour
                 
        $color imagecolorallocatealpha($src_img255255255127);
               }
               
        imagesetpixel($rotate$x$y$color);
             }
           }
          
          return(
        $rotate);
        }

        ?>

        Kommentar


        • #5
          Super Sache, nur bei der Performance kann ich das in keine WebAnwendung integrieren.

          Kommentar


          • #6
            Original geschrieben von shihan
            Super Sache, nur bei der Performance kann ich das in keine WebAnwendung integrieren.
            Dann ImageMagick!

            Kommentar

            Lädt...
            X