imagecopyresized liefert graues Bild
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bild
bildformat
code
einzelnen pixel
farbe
favorit
forum
frage
helfen
http
interessieren
jemand
netz
pixel
problem
sicher formate
speichern
stand
stufe
werte gespeichert schau
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage