kostenloser Webspace werbefrei: lima-city


PHP Bild in Bild - hilfe

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    Hallo LC,
    ich habe vor Ewigkeiten einen Script geschrieben der ein Bild erstellt und ein Anderes "included". (also Bild in Bild)

    Hier mein Code:
    $filename = "bild/";
      
    // Set a maximum height and width
    $width = 135;
    $height = 135;
    
    // Content type
    header('Content-type: image/jpeg');
    
    // Get new dimensions
    list($width_orig, $height_orig) = getimagesize($filename);
    
    $ratio_orig = $width_orig/$height_orig;
    
    if ($width/$height > $ratio_orig) {
       $width = $height*$ratio_orig;
    } else {
       $height = $width/$ratio_orig;
    }
    
    
    // Resample
    
    
    $image_p = imagecreatetruecolor($width, $height);
    $image = imagecreatefromjpeg($filename);
    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
    
    
    
    
    
    
     $dest = $image_p;
     
     Header("Content-Type: image/png"); 
     
    
    $width = 150; # Später die Breite des Rechtecks 
    $height = 150; # Später die Höhe des Rechtecks 
    $img = ImageCreate($width, $height); # Hier wird das Bild einer Variable zu gewiesen 
    $white = ImageColorAllocate($img, 255, 255, 255); # Hier wird die Farbe weiß einer Variable zugewiesen 
    $black2 = ImageColorAllocate($img, 0, 0, 0); 
    $Rot = ImageColorAllocate($img, 255, 51, 0); 
    $mittelblau = imagecolorallocate($img,203, 215, 230); 
    imagefill($img, 0, 0, $mittelblau);
    
    ImageLine($img, 20 /*Posotion*/, 30 /*Links anfang*/, 145/*Länge*/, 30/*Rechts anfang*/, $black2 /*Fabe*/); 
    imagestring($img, 3, 2, 8, "$Text1", $black2); 
    imageline($img, 20, 150, 20, 30, $black2);
    imagestring($img, 6, 4, 25, $a, $Rot); 
    imagestring($img, 6, 4, 40, $b, $Rot); 
    imagestring($img, 6, 4, 55, $c, $Rot); 
    imagestring($img, 6, 4, 70, $d, $Rot); 
    imagestring($img, 6, 4, 85, $e, $Rot); 
    imagestring($img, 6, 4, 100,$f, $Rot); 
    imagestring($img, 6, 4, 115,$g, $Rot); 
    imagestring($img, 6, 4, 127,$h, $Rot); 
    
    
     
    imagecopymerge($img,$dest, 24, 34, 0,0, 120, 108,100);
    
    ImageJPEG($img); 
    
    
    ImageDestroy($dest) 
    
    ?>

    Der funktioniert nur noch nicht ganz.
    Das bild was hinzugefügt wird soll seitenverhältnis gerecht eingebettet werden. Dies habe ich versucht. Das klappt aber nicht immer?!
    Wenn das Bild nicht ganz in die dafür vorgesehene "Box" passt soll der Rest der Box nicht einfach schwarz sein sondern mit den Farbton der in dieser Variable ($mittelblau) gefärbt sein und irgendwas habe ich am Script kaputt gemacht. Von den Bild was hinzugefügt wird werden die Farben nicht 100%tig übernommen?

    Ich hoffe ihr versteht meine Probleme und könnt mir Helfen?
    LG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. justarustyspoon

    justarustyspoon hat kostenlosen Webspace.

    Hiho.
    Naja, "funktioniert nicht ganz" ist keine Fehlerbeschreibung. Wenn ein Teil deines Bildes schwarz ist obwohl es die Farbe des Hintergrundbildes haben sollte, würde ich auf die Schnelle darauf schätzen, dass du deine Bildgrößen für das eingefügte Bild nicht richtig berechnest, das enstehende Bild ist also größer als das was dort mit imagecopyresampled() reinkopiert wird... der Rest wird dann eben schwarz aufgefüllt.
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!