Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Programmierung und Datenbanken (https://boardunity.de/programmierung-datenbanken-f23.html)
-   -   Bilderupload - Ergebnis farblich misshandelt (https://boardunity.de/bilderupload-ergebnis-farblich-misshandelt-t1534.html)

MrNase 12.03.2004 20:46

Bilderupload - Ergebnis farblich misshandelt
 
Moin Leute,


ich sitze an einer kleinen Bildergalerie und habe ein riesiges Problem mit dem Bilderupload.

Code:

$a_allowedtypes = array( '1','2','3','6' );

list( $width, $height, $type ) = getimagesize( $file );
        // Check file type
        if( !in_array( $type, $a_allowedtypes ) )
        {
                message( 'Ungültiger Dateityp', 'Der Dateityp ist ungültig.' );
        }
        switch( $type )
        {
        case 1:
                $func_suffix = 'gif';
                break;
        case 2:
                $func_suffix = 'jpeg';
                break;
        case 3:
                $func_suffix = 'png';
                break;
        case 6:
                $func_suffix = 'wbmp';
                break;
        default:
                message( 'Ungültiger Dateityp', 'Der Dateityp ist ungültig.' );
        }
        // Calculate new file size
        $newwidth = $width;
        $newheight = $height;
        if( $newwidth > $config['g_max_x'] )
        {
                $newheight = $newheight * ($config['g_max_x'] / $newwidth);
                $newwidth = $config['g_max_x'];
        }
        if( $newheight > $config['g_max_y'] )
        {
                $newwidth = $newwidth * ($config['g_max_y'] / $newheight);
                $newheight = $config['g_max_y'];
        }
        eval( '\$src_image = imagecreatefrom' . $func_suffix . '( \$file );' );
        $dst_image = imagecreate( $newwidth, $newheight );
        imagecopyresized( $dst_image, $src_image, 0, 0, 0, 0, $newwidth, $newheight, $width, $height );

Die Bilder sind entweder schwar/weiß (graustufen) oder farblich total verzerrt.

Wer kann mir helfen? :(

Vorher:
http://www.pagodentreff.de/barney.jpg


Hinterher:
http://www.pagodentreff.de/barney_hinterher.jpg

Akira 13.03.2004 08:21

ich habe den code nicht ausprobiert. aber als erstes solltest du die funktion imagecreate() durch imagecreatetruecolor() ersetzen.

OrcaDesign 13.03.2004 08:58

.... sieht aus wie ein Bild, welches von GD1 bearbeitet wurde anstatt von GD2 (kenn das vom Ergebnis her vom 4images, wo man GD2-Unterstützung auch erst irgendwo aktivieren muß, so daß die Bilder denn einigermassen erst ausschauen in der Vorschau - vorher eben grottenhaft, ähnlich wie das bei Dir)

MrNase 13.03.2004 13:05

Gut, aber ich kann meinem Provider (neue medien münnich) nicht bitten auf die gd-lib. 2 aufzurüsten.

Gibt es keinen anderen Weg?

exe 13.03.2004 13:21

Nicht unbedingt die schönste Lösung aber folgendes ist vor einer Weile in einer PHP-Mailingliste in mein Postfach gekommen:

http://lists.phpbar.de/pipermail/php...09/006358.html

Vielleicht hilft dir das weiter, obwohl ich vielleicht doch eher den Provider bitten würde auf eine aktuelle GD-Lib umzusteigen.

macs 13.03.2004 13:30

Zitat:

Zitat von MrNase
Gut, aber ich kann meinem Provider (neue medien münnich) nicht bitten auf die gd-lib. 2 aufzurüsten.

Gibt es keinen anderen Weg?

Hallo,

ich weiß zwar nicht, ob auf den Servern im RZ in Dresden neuer Versionen sind, aber du kannst ja mal anfragen - der Umzug dort hin ist kein Problem und kostet nichts.

MrNase 13.03.2004 13:45

Ich hab den Support mal angeschrieben.

http://www.pagodentreff.de/infophp.php <- Da steht 'bundled 2.0 compatible' :confused:

martin 13.03.2004 16:38

seit php 4.3.0 (4.3.1.?) ist die GD bibliothek (version 2) fester bestandteil von php und muß nicht mehr länger extra eingebunden werden, auch wenn das weiterhin möglich ist.
deswegen das "bundled".

MrNase 13.03.2004 16:58

Hm, warum liefert es dann trotzdem so beschi***** Ergebnisse? Es kann doch nicht sein, dass es nur bei mir nicht geht? ich habe sogar den Code vom vB3 testweise übernommen. Leider sieht es da genauso aus :(

Nun gut, ich hab nen Serverwechsel beantragt und komme jetzt auf einen mit aktuellerer Software.

OrcaDesign 13.03.2004 17:22

Bundled2 sollte aber schicken, mehr hab ich auch nicht zur Verfügung - ich tippe mal darauf, daß es im GD2 andere Befehle/Routinen gibt mit selber Bedeutung, denn anders könnte ich mir auch nicht erklären, warum man in 4images die GD2-Unterstützung erst aktivieren muß, um auch mit GD eben vernünftigere Ergebnisse zu erzielen (anders gesagt: ohne dieses GD2-Flag behandelt 4images die Bilder anders und nimmt halt eben nur ein Basis-GD1 an).
Was wie und womit weiß ich allerdings jetzt auch nicht, da ich mich mit Graphik in PHP bislang nicht weiter beschäftigt habe. :)

MrNase 13.03.2004 17:30

Ich werd mal das php-Manual wälzen. Jetzt da ich weiß, dass ich die GD2 hab kann ich noch mehr austesten.

Leider kann ich es nicht auf meinem Server zuhause testen weil da wieder eine andere Version läuft :D

Fabchan 14.03.2004 17:03

Ich hoffe mal, dass 1und1 bald mal seine GD-Library oder am besten gleich PHP aktualisiert, die liegen da ein wenig zurück:
(siehe: http://faq.1und1.de/hosting/skripte_...ken/php/6.html)

Aber bei so großen Anbietern wie 1und1 geht es sicher nicht, eben mal schnell nebenbei PHP runterzuladen und auf alle Server zu spielen, die können sich schlecht Fehlkonfigurationen leisten!

MrNase 14.03.2004 17:13

Zitat:

Zitat von Dracaelius
Ich hoffe mal, dass 1und1 bald mal seine GD-Library oder am besten gleich PHP aktualisiert, die liegen da ein wenig zurück:
(siehe: http://faq.1und1.de/hosting/skripte_...ken/php/6.html)

Aber bei so großen Anbietern wie 1und1 geht es sicher nicht, eben mal schnell nebenbei PHP runterzuladen und auf alle Server zu spielen, die können sich schlecht Fehlkonfigurationen leisten!

Das kann sich aber kein Anbieter leisten egal wie groß.

Mein Problem hat sich gelöst. Das Script läuft perfekt. Nur das Script welches die Bilder ausgibt hatte nen kleinen, gravierenden Fehler :(

MrNase 14.03.2004 22:01

Off-Topic:
So, heute Nacht komme ich auf einen neuen Server :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:21 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25