Ankündigung

Einklappen
Keine Ankündigung bisher.

php imagecreate - px and %

Einklappen

Neue Werbung 2019

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

  • php imagecreate - px and %

    Hi Leute ich habe hier ein Raster,
    3 x 3 Quadrate,
    in jedem dieser Quadrate wird per php ein Bild reingeladen:
    PHP-Code:
    error_reporting(E_ALL); 
    header("Content-type: image/png");

    require_once 
    'storescripts/connect_to_mysql.php';
    $scale 1;
    $size 90 $scale;

    $theImage imagecreate($size$size);
    $colorWhite imagecolorallocate($theImage255255255); #Hintergrund
    $colorGrey imagecolorallocate($theImage210210210);


    $cellSize 30 $scale#Größe des Rasters
    $pxWidth round($size $cellSize0);
    for (
    $i 1$i $pxWidth$i++) {
        
    imageline($theImage$i*$cellSize0$i*$cellSize$size$colorGrey); #vertikal
        
    imageline($theImage0$i*$cellSize$size$i*$cellSize$colorGrey); #horizontal
    }

    require 
    'connect_to_mysql.php';
    $sth $dbh->prepare("SELECT * FROM table");
    $sth->execute();

    while (
    $user $sth->fetch(PDO::FETCH_ASSOC)) {
              
    $profile_pic imagecreatefromjpeg("img/".$user['user'].".jpg");
              if (
    $profile_pic) {
                  
    imagecopyresized($theImage$profile_pic,(($user['coord_x']) * 30),(($user['coord_y']) * 30),0,03030100100);
              }
    }

    //Ausgabe
    imagepng($theImage); #ausgeben des Bildes als PNG
    imagedestroy($theImage); #freigeben und zerstören des Bildes 
    Nun sehe ich aber keine Möglichkeit, dass ich das mit Prozenten löse(damit es responsive wird):
    PHP-Code:
    error_reporting(E_ALL); 
    header("Content-type: image/png");

    require_once 
    'connect_to_mysql.php';
    $scale 1;
    $size '100%' $scale;

    $theImage imagecreate($size$size);
    $colorWhite imagecolorallocate($theImage255255255); #Hintergrund
    $colorGrey imagecolorallocate($theImage210210210);


    $cellSize '33.3%' $scale#Größe des Rasters
    $pxWidth round($size $cellSize0);
    for (
    $i 1$i $pxWidth$i++) {
        
    imageline($theImage$i*$cellSize0$i*$cellSize$size$colorGrey); #vertikal
        
    imageline($theImage0$i*$cellSize$size$i*$cellSize$colorGrey); #horizontal
    }

    require 
    'storescripts/connect_to_mysql.php';
    $sth $dbh->prepare("SELECT * FROM table");
    $sth->execute();

    while (
    $user $sth->fetch(PDO::FETCH_ASSOC)) {
              
    $profile_pic imagecreatefromjpeg("img/".$user['user'].".jpg");
              if (
    $profile_pic) {
                  
    imagecopyresized($theImage$profile_pic,(($user['coord_x']) * '33.3%'),(($user['coord_y']) * '33.3%'),0,0'33.3%''33.3%''100%''100%');
              }
    }

    //Ausgabe
    imagepng($theImage); #ausgeben des Bildes als PNG
    imagedestroy($theImage); #freigeben und zerstören des Bildes 
    Nun bekomme ich trotz des Error-Reporting die Meldung, dass die Grafik nicht dargestellt werden kann, weil sie Fehler enthält.

    Kann mir da jmd weiterhelfen oder sagen wie es noch anders gehen würde? LG


  • #2
    PHP-Code:
    $size '100%' $scale;
    $cellSize '33.3%' $scale#Größe des Rasters 
    Was soll das deiner Meinung nach Bewirken? Es gibt keine Prozentrechnung in PHP, das musst du schon selbst umsetzen.
    Hinweis: 100% entspricht 1
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      ah ok dann werde ich es mal mit:
      PHP-Code:
       $size '100%' $scale
      =>
      PHP-Code:
       $size $scale
      und
      PHP-Code:
       $size '33.3%' $scale
      =>
      PHP-Code:
       $size 0.333 $scale
      versuchen.

      Kommentar


      • #4
        Tu das, nur dass
        PHP-Code:
        $size $scale
        unnötig ist...
        Zitat von nikosch
        Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

        Kommentar


        • #5
          Wenn
          PHP-Code:
          $size 
          wegfällt woher nimmt
          PHP-Code:
          imagecreate() 
          dann seine Paramater?

          Kommentar


          • #6
            Wenn du irgendeine Zahl mal 1 nimmst, was bekommst du als Ergebnis?

            Kommentar


            • #7
              die gleiche, also braucht der keine Parameter?

              Kommentar


              • #8
                $scale ist bei dir 1
                $size ergibt 1

                dann übergeb der Funktion imagecreate doch keine Variable sondern einfach den Wert 1.

                Kommentar


                • #9
                  Und dass die Variable $size noch in anderen Funktionen als Paramter vorkommt?

                  Kommentar


                  • #10
                    Ups hab ich nicht gesehen. Dann nimm halt nur eine Variable mit dem Wert 1, aber die Multiplikation mit 1 ist unnötig.

                    Kommentar


                    • #11
                      imagegrösse ausrichten am raster, responsive-
                      ist das alles nicht eher ne sache für js?

                      Kommentar

                      Lädt...
                      X