kostenloser Webspace werbefrei: lima-city


imagecopyresized liefert graues Bild

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    So, nachdem mir im irc keiner helfen will, frage ich einfach mal hier^^

    Also, ich habe diesen Code:
    <?
          $oldSize = getimagesize($t);
          $oldPic  = imagecreatefromjpeg($t);
          $newPic  = imagecreate($oldSize[0], $oldSize[1]); 
          imagecopyresized($newPic, $oldPic, 0, 0, 0, 0, $oldSize[0], $oldSize[1], $oldSize[0], $oldSize[1]);
          imageJPEG($newPic, $t.'_thumb.jpeg', 80);


    Bis jetzt kopiert der einfach das Bild, später wirds aber auch noch skaliert.
    Jetzt das Problem: es kommt immer ein Graustufenbild dabei heraus.(Ok, ich weiß nicht, obs n Graustufenbild ist, aber es hat halt nur Graustufen und keine Farben mehr^^). Tjoa, ich konnte im Netz eigentlich nix finden und deshalb hoff ich mal, dass noch jemand wach ist, der sich damit auskennt :)



    MfG


    EDIT: Ok, scheint ein RGB-Bild zu sein, kein Graustufen.

    Beitrag geändert: 21.9.2008 1:39:33 von benutzernaemelchen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. t*****b

    Natürlich werden bei einem Graustufenbild auch RGB-Werte gespeichert, schau dir mal die RGB-Werte von den Graustufen an, dann verstehst du warum (wenn aa = gg = bb, also alle Farbanteile den gleichen Wert haben kommt Grau raus). Bei Schwarz/Weiß-Bildern (tatsächlich nur #000000 und #FFFFFF) reichen 1Bit pro Pixel aus, dann gibt es aber kein Stufen dazwischen. Wie das Bildformat die einzelnen Pixel speichert ist jedem selbst überlassen. Es gibt sicher Formate, die für Graustufenbilder blos einen Wert (aa) speichern, da sich daraus ja gg und bb ergibt, aber das müsste uns von der technischen Seite her nicht interessieren ;)

    Zurück zu deinem Problem, ich hatte einmal das selbe und habe darum diesen Link in meinen Favoriten: http://www.tutorials.de/forum/php/176031-imagecopyresized-und-bessere-qualitaet.html, das müsste dir weiter helfen.


    Beitrag geändert: 21.9.2008 1:58:04 von trueweb
  4. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.


    Natürlich werden bei einem Graustufenbild auch RGB-Werte gespeichert, schau dir mal die RGB-Werte von den Graustufen an, dann verstehst du warum (wenn aa = gg = bb, also alle Farbanteile den gleichen Wert haben kommt Grau raus). Bei Schwarz/Weiß-Bildern (tatsächlich nur #000000 und #FFFFFF) reichen 1Bit pro Pixel aus, dann gibt es aber kein Stufen dazwischen. Wie das Bildformat die einzelnen Pixel speichert ist jedem selbst überlassen. Es gibt sicher Formate, die für Graustufenbilder blos einen Wert (aa) speichern, da sich daraus ja gg und bb ergibt, aber das müsste uns von der technischen Seite her nicht interessieren ;)

    Weiß ich, aber ich habs einfach per Gimp geöffnet und da stand RGB und nicht Graustufen :P

    Habs jetzt dank dem Thread rausgekriegt:
    <?
          $oldSize = getimagesize($t);
          $oldPic  = imagecreatefromjpeg($t);
          $newPic  = imagecreatetruecolor(350, 250); 
          imagecopyresampled($newPic, $oldPic, 0,0, 0, 0, 350, 250, $oldSize[0], $oldSize[1]);
          imageJPEG($newPic, $t.'_thumb.jpeg', 100);

    lag an dem imagecreatetruecolor anstatt einem imagecreate. imagecopyresampled ist zwar nicht unbedingt nötig, aber ich find, es sieht schicker aus :)


    danke :smile:
  5. 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!