Streifen nach imagecopymerge im Bild

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

  • Streifen nach imagecopymerge im Bild

    ich bin mal wieder am rumexperimentieren.
    dieses mal wars mitm wasserzeichen in bildern einfügen

    lokal klappt das auch ganz gut nur als ich es aufm server getestet hab. wurden beide auch zusammengefügt aber mit häßlichen horizontalen strichen über die ganze höhe des wasserzeichens. lokal alles wunderbar. wenn ich gd info ausführe erhalte ich auch unterschiedliche versionen.
    kann es sein das es mit älteren versionen probleme gab?

    gd_info server
    Code:
    array(11) { ["GD Version"]=>  string(13) "2.0 or higher"
     ["FreeType Support"]=>  bool(true) 
    ["FreeType Linkage"]=>  string(13) "with freetype"
     ["T1Lib Support"]=>  bool(false)
     ["GIF Read Support"]=>  bool(true) ["GIF Create Support"]=>  bool(true) 
    ["JPG Support"]=>  bool(true) 
    ["PNG Support"]=>  bool(true)
     ["WBMP Support"]=>  bool(true) 
    ["XBM Support"]=>  bool(false) 
    ["JIS-mapped Japanese Font Support"]=>  bool(false) }
    gd_info local
    Code:
     
    array(12) { ["GD Version"]=>  string(27) "bundled (2.0.28 compatible)" 
    ["FreeType Support"]=>  bool(true) 
    ["FreeType Linkage"]=>  string(13) "with freetype" 
    ["T1Lib Support"]=>  bool(false) 
    ["GIF Read Support"]=>  bool(true)
     ["GIF Create Support"]=>  bool(true) 
    ["JPG Support"]=>  bool(true) 
    ["PNG Support"]=>  bool(true)
     ["WBMP Support"]=>  bool(true) ["XPM Support"]=>  bool(false) ["XBM Support"]=>  bool(true) 
    ["JIS-mapped Japanese Font Support"]=>  bool(false) }
    Edit: bisschen schöner formatiert, damit ihr nicht soweit nach rechts scrollen müsst

  • #2
    Hm, also das mit der GD-Version scheint mir ok zu sein. Eventuell ist der Umgang mit den Funktionen unterschiedlich. Also wäre es praktisch mal was vom Quelltext zu sehen.

    Und btw.:

    bisschen schöner formatiert, damit ihr nicht soweit nach rechts scrollen müsst

    Sehr gnädig der Herr
    Die meiste Unwissenheit könnte besiegt werden. Wir eignen uns nur deshalb keine Kenntnisse an, weil wir sie nicht wünschen.

    Kommentar


    • #3
      Laß auch mal die Bilder sehen, die Du zusammenbringen willst!

      Kommentar


      • #4
        ok quelltext und wild kommt sofort

        also der quelltext wird so nicht eingesetzt. der ist noch extremst unsauber, ist halt reiner testcode das wasserzeichen ist extrem größer als das bild selbst und wird dann auf die breite des bildes verkleinert die breite und höhenberechnung lass ich mal außen vor

        PHP-Code:
        $oldWatermark imagecreatefromgif($watermark);
                
             
        $newWatermark imagecreatetruecolor($neueBreite$neueHoehe);
         
             
        $black ImageColorAllocate ($newWatermark000);
             
        imagecolortransparent($newWatermark$black);
             
        imagecopyresampled($newWatermark$oldWatermark0000$neueBreite$neueHoehe$breite$hoehe);
             
        //imagegif($newWatermark, "bilder/newwatermark.gif");
            
            
        $Image imagecreatefromjpeg($oldImage);
            
            
        imagecopymerge($Image$newWatermark0000$wm_breite$wm_hoehe30);
            
            
        imagegif($newWatermark"bilder/watermarktest.gif");
            
        imagejpeg($Image"bilder/mauwatermarked.jpg");
            
            
        imagedestroy($Image);
            
        imagedestroy($oldWatermark);    
            
        imagedestroy($newWatermark); 
        Ergebnis Server


        Ergebnis Local


        das wasserzeichen ist noch nicht korrekt verkleinert noch richtig positioniert.

        P.S. die seite wird für nen grafikdesigner erstellt. als arbeitssuchender exazubi muss ich jetzt irgendwas machen, worauf ich mich später auch beziehen kann, bei bewerbungen

        Kommentar


        • #5
          Hi,


          versuch mal folgendes:

          PHP-Code:
          imagejpeg($Image"bilder/mauwatermarked.jpg",100); 

          Wenn nicht, dann hier mal einen gerade aus meinem Script kopierten Ausschnitt...

          Vielleicht hilft dir das weiter...

          PHP-Code:
               $file      "Bild.jpg";
               
          $filterf   "meinwasserzeichen.jpg";

               
          $sfile        $_SERVER['DOCUMENT_ROOT']."/".$file;
               
          $path         $_SERVER['DOCUMENT_ROOT']."/";

               
          $filter       $filterf;

               
          $infos_img    GetImageSize($sfile);
               
          $infos_wat    GetImageSize($filter);
               
          $image_size   $infos_img[0].' x '.$infos_img[1];
               
          $image_type   $infos_img[mime];
               
          $transparency 100 $transparency;


               switch(
          $infos_img[mime]){
                     case 
          'image/jpeg':
                          
          $img_image ImageCreateFromJpeg($sfile);
                     break;

                     case 
          'image/gif':
                          
          $img_image ImageCreateFromGIF($sfile);
                     break;

                     case 
          'image/png':
                          
          $img_image ImageCreateFromPng($sfile);
                     break;
                     }

               
          $waterfile ImageCreateFromPng($filter);
               
          $thumb     ImageCreateTruecolor($infos_img[0],$infos_img[1]);
               
          $weiss     ImageColorAllocate ($thumb255255255);
                            
          imagefill ($thumb,$w,$h$weiss);
               
          $thumb_w   ImageCreateTruecolor($infos_img[0],$infos_img[1]);
                            
          imagefill ($thumb_w,$w,$h$weiss);

               
          $w       $infos_wat[0]-5;
               
          $h       $infos_wat[1]-5;

               
          ImageCopyResized($thumb,$img_image,0,0,0,0,$infos_img[0],$infos_img[1],$infos_img[0],$infos_img[1]);
               
          ImageCopyResized($thumb_w,$waterfile,0,0,0,0,$infos_img[0],$infos_img[1],$w,$h);
               
          ImageColorTransparent($thumb_whexdec('#fd0399'));
               
          ImageCopyMerge($thumb$thumb_w0000$infos_img[0], $infos_img[1], $transparency);
               
          ImageJpeg($thumb,$dfile,100);

               
          ImageDestroy($thumb);
               
          ImageDestroy($thumb_w);
               
          ImageDestroy($img_image);
               
          ImageDestroy($waterfile); 
          Die meiste Unwissenheit könnte besiegt werden. Wir eignen uns nur deshalb keine Kenntnisse an, weil wir sie nicht wünschen.

          Kommentar


          • #6
            also transparenz 100 bringt nix die streifen werden auch dunkler.
            danke für den codeausschnitt. aber im prinzip ist das doch der gleich außer das er schon etwas sauberer ist.

            Kommentar


            • #7
              hauptsächlich fokusierte sich die Antwort ja auch hierrauf:


              imagejpeg($Image, "bilder/mauwatermarked.jpg",100);

              Damit wird die standardmäßig auf (glaube 60) eingestellte Qualität auf 100 gesetzt...
              Die meiste Unwissenheit könnte besiegt werden. Wir eignen uns nur deshalb keine Kenntnisse an, weil wir sie nicht wünschen.

              Kommentar


              • #8
                ne funktioniert leider nicht.
                sind immernoch die streifen drin.

                ich werd dann wohl auf die funktion verzichten müssen. local funktioniert alles wunderbar nur aufm server nicht...

                Kommentar

                Lädt...
                X