imagecreatefrompng() - das ewige Thema

ToXiC24

Mitglied
Moin,

immerwieder sitze ich davor und bin kurz vorm verzweifeln, wenn ich ein png Bild mit php erzeugen möchte und das Ausgangsbild einen Schatteneffekt hat. Sonst habe ich dann immer einfach ein Bild ohne Effekt verwendet, weil ich nicht auf die Lösung kam, aber diesmal muss ich den Effekt unbedingt haben :)

Und zwar gehe ich wie folgt vor:

PHP:
  $grundbild = imagecreatefrompng("path/image.png"); //Nur ein Beispielpfad
  $grundbild_trans = imagecolorallocate($grundbild, 0,0,0);
  imagecolortransparent($grundbild, $grundbild_trans);

  imagepng("ausgabedatei.png"); //Nur ein Beispielname

Jetzt ist zwar der Hintergrund schön transparent, wie beim ursprünglichen Bild, aber der Schlagschatten/Schein nach außen ist ebenfalls weggefiltert, das ist aber nicht in meinem Sinne :(

Danke schonmal

Greetz
ToXiC
 
Vllt könntest du beispiel Bilder hochladen.

Dann versteht es vllt jemand. Außerdem würde ich dir empfehlen imagemagick zu nutzt solltest du einen root habe. Damit kannst du viel mehr machen, weil mit php nicht alles möglich ist. Ich hab immer den gedanken das PHP-GD Paint von MS ist und Imagemagick Photoshop CS3 ist.
 
Das problem bei Imagemagick ist, dass ich selbst mit XAMPP entwickel und ich nicht weiss, obs auf dem Webserver, der benutzt werden soll verfügbar ist.

Das Einzigste Problem bei der ganzen Sache ist wirklich, dass PHP die Transparenz, die bei PNG's gegeben ist nicht unterstützen, sonst wäre das ja zu einfach oder? ^^

Beispielbilder folgen, muss welche erstellen/suchen, die ich später nicht brauchen werde.


Greetz
ToXiC24
 
Okay, also zu den Beispielbildern bin ich noch nicht gekommen, weil ich krampfhaft versuche Imagemagick zu installieren, klingt komisch, is aber so :D

Also installiert habe ich es, aber wo befindet sich denn die .dll, die ich in den ext-ordner von php schieben muss? Ich finde diese einfach nicht. In Google finde ich nur Beiträge, in denen steht, dass man dll's in den ext ordner schieben muss, aber ich habe diese dll's in keinem ordner. Habe die verschiedensten Versionen und Pakete runtergeladen - aber nichts ist dabei :(

Greetz
ToXiC24
 
Ich muss sagen ich hab nie mit Windows als Server gearbeitet, bzw nie etwas bei windows installaiert.

Also wenn die syntax des programms gleich ist probier mal "convert -version" einzugeben. Sollte die Versions NR von imagemagick kommen, ist alles ok. Falls nein, kann ich dir auch nicht weiterhelfen, außer das du vllt noch irgend etwas in php.ini schreiben musst.

Vllt hat google ne anleitung.

http://bel.gsi.de/docs/imagemagick/www/windows.html

vllt hilft dir das
 
Zuletzt bearbeitet:
Nach dem Schema hatte ich das installiert, und bei der php.ini liegt dann das Problem. Dort muss dann:

extension=php_imagick.dll

aktiviert werden. Diese php_imagemagick.dll befindet sich aber weder irgendwo im imagemagick installationsordner noch in ../php/ext/. Aber ich glaube, dass ich diese Datei benötige um Imagemagick überhaupt mit PHP verwenden zu können.

Danke schonmal für die bisherigen Antworten :)

Greetz
ToXiC24
 
Ich weiß es nicht genau, aber du kannst das auch weg lassen, dann kannst du zwar imagemagick nicht direkt aus php ansteuern aber mir exec(); sollte es dann aber gehen.

Versuche doch einfach den phat der datei da hinzuschreiben.
 
Das Problem dabei ist, dass wenn ich das mit exec(); programmiere es nicht auf meinem Webspace läuft, weil mein lokaler rechner auf Windows läuft und der Webserver beim Hoster auf Linux. Und ich davon ausgehe, dass wenn der Hoster das zur Verfügung stellt das über php läuft.
 
Zurück