forum.coppermine-gallery.net

Support => Deutsch (German) => Language Specific Support => cpg1.5.x Deutsch (German) => Topic started by: Zitrone on March 03, 2011, 01:25:31 pm

Title: PSD-Support mit GD
Post by: Zitrone on March 03, 2011, 01:25:31 pm
Hey liebes Forum,

ich bin sowas von zufrieden mit der Coppermine-Galerie. Flüssig, überschaulich, die Einstellungsmöglichkeiten riesig, alles super.

Aber: Ich möchte das GD für Imageresize weiterhin benutzen, weil ich Probleme mit dem Imagemagick habe.
Jetzt die Frage: "Kann ich irgendwie das GD-Addin umschreiben, damit ich PSD hochladen kann?"


Zurzeit habe ich keinen Link mehr zur Galerie, weil mein FTP geschlossen wurde und ich erst das Backup hochladen muss auf dem neuen.
Der Link bringt aber sowieso nix, weil ich nur in meinre lokalen Netzwerkumgebung eine VM laufen habe mit der Galerie.
Die VM läuft auf Linux, CentOS 5.5. Dort habe ich Probleme mit dem ImageMagick, sonst würde ich ImageMagick nehmen anstatt GD.


Hoffe ihr könnt mir behilflich sein :)
Title: Re: PSD-Support mit GD
Post by: Αndré on March 03, 2011, 01:47:54 pm
GD kann nur GIF, JPG und PNG verarbeiten.
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 03, 2011, 01:51:18 pm
Da werde ich auch nix am Code ändern können?

Also das man z.B. psd hochlädt, aber es dann in JPEG konvertiert wird :P
Title: Re: PSD-Support mit GD
Post by: Αndré on March 03, 2011, 01:54:48 pm
Wenn die verwendete Grafikbibliothek etwas nicht verarbeiten kann, dann kann Coppermine es auch nicht. Scheinbar gibt es Erweiterungen für GD, ich hab mir das aber nicht weiter angesehen: http://lmgtfy.com/?q=gd+psd+support
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 03, 2011, 02:02:41 pm
Das sind eigentlich ganz gut aus:

->http://www.knusperpixel.com/shortlist/php-psd-reader-php-classes/
-> ff: http://www.phpclasses.org/browse/file/17603.html

Aber wie soll ich das jetzt mit dem GD verknüpfen? :O
Title: Re: PSD-Support mit GD
Post by: Αndré on March 03, 2011, 02:19:48 pm
Quote from: http://www.phpclasses.org/browse/file/17603.html
*    example use:
*    ------------
*    <?php
*    include_once('classPhpPsdReader.php')
*    header("Content-type: image/jpeg");
*    print imagejpeg(imagecreatefrompsd('test.psd'));
*    ?>


In der Datei include/picmgmt.inc.php findest du folgenden Block:
Code: [Select]
            if ($imginfo[2] == GIS_GIF && $CONFIG['GIF_support'] == 1)
                $src_img = imagecreatefromgif($src_file);
            elseif ($imginfo[2] == GIS_JPG)
                $src_img = imagecreatefromjpeg($src_file);
            else
                $src_img = imagecreatefrompng($src_file);

Vielleicht klappt es ja schon, wenn du diesen Block durch folgenden Block ersetzt:
Code: [Select]
            if ($imginfo[2] == GIS_GIF && $CONFIG['GIF_support'] == 1)
                $src_img = imagecreatefromgif($src_file);
            elseif ($imginfo[2] == GIS_JPG)
                $src_img = imagecreatefromjpeg($src_file);
            elseif ($imginfo[2] == GIS_PNG)
                $src_img = imagecreatefrompng($src_file);
            else {
                include_once('classPhpPsdReader.php');
                $src_img = imagecreatefrompsd($src_file);
            }
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 03, 2011, 02:43:38 pm
Ich glaube nicht ganz Andre :D

Parse error: syntax error, unexpected T_STRING in /var/www/html/include/picmgmt.inc.php on line 441
Title: Re: PSD-Support mit GD
Post by: Αndré on March 03, 2011, 03:01:53 pm
Die Fehlermeldung allein bringt mir gar nichts, wenn ich nicht weiß wann/wo sie auftritt. Auch wären die Zeilen 430-450 aus der entsprechenden Datei sehr nützlich, damit ich weiß, was dort überhaupt steht.
Title: Re: PSD-Support mit GD
Post by: Αndré on March 03, 2011, 03:03:34 pm
Zum Testen des Codes bräuchte ich auch erstmal eine PSD-Datei.
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 03, 2011, 03:14:33 pm
Ja sorry, des war etwas voreilig von mir gehandelt.

Also ich habe die classPhpPsdReader.php mit ins include-Verzeichnis eingefügt

Den code von der picmgmt.inc.php habe ich wie folgt bearbeitet:
Code: [Select]
case "gd2" :
            if (!function_exists('imagecreatefromjpeg')) {
                return array('error' => 'PHP running on your server does not support the GD image library, check with your webhost if ImageMagick is installed', 'halt_upload' => 1);
            }
            if (!function_exists('imagecreatetruecolor')) {
                return array('error' => 'PHP running on your server does not support GD version 2.x, please switch to GD version 1.x on the admin page', 'halt_upload' => 1);
            }
          if ($imginfo[2] == GIS_GIF && $CONFIG['GIF_support'] == 1)
              $src_img = imagecreatefromgif($src_file);
           elseif ($imginfo[2] == GIS_JPG)
              $src_img = imagecreatefromjpeg($src_file);
            elseif ($imginfo[2] == GIS_PNG)
                $src_img = imagecreatefrompng($src_file);
            else {
               include_once('classPhpPsdReader.php');
                $src_img = imagecreatefrompsd($src_file);
            }


Die Aussage das du erstmal eine psd-Datei bräuchtest, soweit komm ich gar net :)
Ich drücke auf Bild hochladen -> Und kriege diese Fehlermeldung:
Parse error: syntax error, unexpected T_STRING in /var/www/html/include/picmgmt.inc.php on line 441
Title: Re: PSD-Support mit GD
Post by: Αndré on March 03, 2011, 03:26:34 pm
Könntest du mir bitte eine PSD-Datei zur Verfügung stellen? Danke.
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 03, 2011, 03:29:05 pm
Klaro Andre ..

http://downloadpsd.com/icons/coffee-cup-icons-free-psd/?download=Coffee%20Cup%20Icons%20PSD
Title: Re: PSD-Support mit GD
Post by: Αndré on March 03, 2011, 03:46:52 pm
Also bei mir klappt das ohne Probleme. Ich habe die Codeänderung durchgeführt, die Datei in den include-Ordner kopiert und konnte die PSD-Datei ohne Probleme hochladen. Überprüf bitte nochmals Zeile 441, wie es in der Fehlermeldung steht.
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 03, 2011, 03:47:57 pm
ok ich werde dir berichten...
Danke für den Support <3
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 03, 2011, 03:54:07 pm
Willst du mir mal deine picmgmt.inc.php schicken?
Ich kopiere diese einfach mal rein und hoffe das es geht :)
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 03, 2011, 03:54:51 pm
Willst du mir mal deine picmgmt.inc.php schicken?
Ich kopiere diese einfach mal rein und hoffe das es geht :)


Habe mir den Code nochmal genauer angeschaut, kann nichts auffälliges finden, was ich falsch gemacht habe
Title: Re: PSD-Support mit GD
Post by: Αndré on March 03, 2011, 04:02:14 pm
Anbei sowohl picmgmt.inc.php als auch classPhpPsdReader.php.
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 03, 2011, 04:05:58 pm
Super ich danke dir...
VM ist gerade im Reboot...

Werde ich gleich eine Lösung angeben :)
Falls du willst, schreibe ich auch dein ein Tutorial in Englisch und Deutsch, wie man den PSD-Support hinzufügt
Title: Re: PSD-Support mit GD
Post by: Αndré on March 03, 2011, 04:13:40 pm
Immer mit der Ruhe, das ist noch nicht die entgültige Lösung. Bei meinen derzeitigen Einstellungen wird versucht die PSD-Datei in Originalgröße im Browser darzustellen, was natürlich nicht funktioniert. Hier muss man überlegen, was man möchte. Möchte man die PSD-Datei als Datei anbieten, oder lediglich deren Inhalt präsentieren (sprich, die Datei in JPG oder sonstwas umwandeln und die PSD-Datei danach löschen).
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 03, 2011, 04:25:51 pm
Also ich will es:

PSD hochladen, das diese dann angezeigt wird...
Von mir aus als JPG :)

Aber ich hab ein ganz anderes Problem:
Fatal error: require() [function.require]: Failed opening required 'include/picmgmt.inc.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/upload.php on line 26

So steht es bei mir in der Upload.php
----------------
// Call basic functions, etc.
require('include/init.inc.php');
Zeile 26: require('include/picmgmt.inc.php');

// Check to see if user can upload pictures.  Quit with an error if user cannot.
if (!USER_CAN_UPLOAD_PICTURES && !USER_CAN_CREATE_ALBUMS) {
    cpg_die(ERROR, $lang_errors['perm_denied'], __FILE__, __LINE__);
----------------
Title: Re: PSD-Support mit GD
Post by: Αndré on March 03, 2011, 04:28:49 pm
Die Fehlermeldung ist doch eigentlich selbsterklärend: die Datei include/picmgmt.inc.php ist nicht vorhanden.
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 03, 2011, 05:01:48 pm
ist mir schon klar, aber ich habe sie ja nur mit deiner ersetz im selben Verzeichnis ...

Und er sagt mir ja include_path='.:/usr/share/pear:/usr/share/php, aber da liegt die gar nicht ....
da war sie auch nicht vorher gelegen !!
Title: Re: PSD-Support mit GD
Post by: Αndré on March 03, 2011, 05:09:01 pm
Dann haut etwas mit deiner VM generell nicht hin, wenn es vorhandene Dateien nicht findet und bei einwandfreien Codezeilen Fehlermeldungen ausspuckt. Dafür kann ich nun aber beim besten Willen kein Support geben. Schau bitte in die Dokumentation, wofür die PHP-Einstellung "include_path" verantwortlich ist.
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 04, 2011, 11:14:38 am
Ich habe zwar lange gebraucht, um den Fehler zufinden, habe ihn aber gefunden :)

Jetzt krieg ich keine Fehlermeldung mehr, wenn ich eine .PSD hochlade. Schon mal sehr gut....
Eine Thumbnail wird mir angezeigt, aber wenn ich auf dieses Thumbnail klicke, krieg ich nur eine X :(
Title: Re: PSD-Support mit GD
Post by: Αndré on March 04, 2011, 11:39:17 am
Ich habe zwar lange gebraucht, um den Fehler zufinden, habe ihn aber gefunden :)
Wärst du so freundlich uns mitzuteilen, woran es lag? Evtl. tritt dieser Fehler auch bei anderen Personen auf, die über diesen Thread stolpern.


wenn ich auf dieses Thumbnail klicke, krieg ich nur eine X :(
Das sagte ich ja bereits:
Immer mit der Ruhe, das ist noch nicht die entgültige Lösung. Bei meinen derzeitigen Einstellungen wird versucht die PSD-Datei in Originalgröße im Browser darzustellen, was natürlich nicht funktioniert.


Also ich will es:

PSD hochladen, das diese dann angezeigt wird...
Von mir aus als JPG :)
Du willst also, dass die PSD-Datei in ein darstellbares Format umgewandelt wird und danach gelöscht wird. In welches Format soll es denn umgewandelt werden? JPG, PNG, GIF?
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 04, 2011, 12:55:50 pm
Wärst du so freundlich uns mitzuteilen, woran es lag? Evtl. tritt dieser Fehler auch bei anderen Personen auf, die über diesen Thread stolpern.
[/qoute]

In meiner Apache-Server-Configuration, die auf das Coppermine-Verzeichnis verweist, hat sich auf Default zurückgestellt und somit wurde es auf den /usr/share Link verwiesen.
Warum er das gemacht hat? Ich vermute, das die Upload.php-Datei vom Coppermine-Verzeichnis beschädigt war und er dann die Standard-Datei genommen hat.



Das sagte ich ja bereits:
Du willst also, dass die PSD-Datei in ein darstellbares Format umgewandelt wird und danach gelöscht wird. In welches Format soll es denn umgewandelt werden? JPG, PNG, GIF?

Das meinte ich so:
Perfekte Lösung wäre: Man kann PSD ohne Probleme hochladen und wird auch als das PSD-Format dargestellt.
Abweich-Lösung wäre: Das PSD wird hochgeladen und beim Hochladen in das JPG-Format konvertiert. Könnte ich mit Leben, wobei die erste Lösung natürlich schöner wäre
Title: Re: PSD-Support mit GD
Post by: Αndré on March 04, 2011, 01:01:49 pm
Dein Browser kann standardmäßig aber keine PSD-Dateien anzeigen, daher auch das 'X'.
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 04, 2011, 01:35:55 pm
Dann müssen wir es wohl oder übel in JPG wandeln ...
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 07, 2011, 02:53:39 pm
Schon eine Idee? :P
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 15, 2011, 12:45:04 pm
Da wir hier wahrscheinlich nicht weiterkommen, Andre, hab ich jetzt mal auf der VM ImageMagick installiert.


Es ist das selbe bestehnde Problem. Ich trag in der Config von der Coppermine-Galerie den Pfad zur ausführbaren Datei von ImageMagick ein und ich kann nichts mehr machen.
Bilder hochladen geht, aber Thumbnails werden nicht angezeigt, geschweige denn die Bilder...
Title: Re: PSD-Support mit GD
Post by: Αndré on March 15, 2011, 01:34:59 pm
Wie kommst du darauf, dass wir nicht weiterkommen? Ich habe momentan einfach zu wenig Zeit (kombiniert mit zu wenig persönlichem Interesse an der Problematik) um mich der Sache anzunehmen. Wir können mit GD aus einer PSD-Datei eine JPG-Datei erstellen. Es muss jetzt nur noch der Code angepasst werden, dass auch die Originaldatei in eine JPG-Datei umgewandelt wird.
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 15, 2011, 02:08:40 pm
Oh Sorry, das ich gleich so aufdringlich war  ???

Sprich wir bräuchten einen convertierungscode, der aber eine bestimmte Exe ausführt, weil mit PHP kriegen wir das nicht hin oder?
Title: Re: PSD-Support mit GD
Post by: Αndré on March 15, 2011, 02:22:46 pm
Lies dir bitte nochmal das gesamte Thema durch. Wir sind doch bereits an dem Punkt angelangt, dass wir mittels PHP und GD aus einer PSD-Datei eine JPG-Datei mittels imagecreatefrompsd erzeugen können. Vom Prinzip her müssten wir nur die Ursprungsdatei gleich am Anfang in eine JPG-Datei umwandeln und dann ergibt sich der Rest von selbst.
Title: Re: PSD-Support mit GD
Post by: Zitrone on March 22, 2011, 09:59:22 am
Jop ich kann zum Glück auch erfolgreich hochladen Juhu :)
Dafür schon mal vielen Dank !!

Jetzt müssten wir es halt hinkriegen, das beim Upload der PSD gleich in JPG gewandelt wird...
oder
wir kriegen es so hin, das die PSD-Datei angezeigt werden kann ...