Antworten auf deine Fragen:
Neues Thema erstellen

Bild bearbeiten mit PHP

D

DenizDBest

Guest

Hallo,

ich ich versuche seit Tagen, ein Script oder einen Anfangspunkt zu finden, für folgendes Vorhaben:
Der Benutzer kann ein Bild hochladen. Dies wird auf eine bestimmte Größe gestreckt, und soll dann in eine Schablone eingefügt werden. Mit Schablone meine ich eine PNG Datei, mit vielen transparenten, und schwarzen stellen. Das vom user hochgeladene Bild soll dann so mit der Schablone kombiniert werden, dass die vorher schwarzen stellen das Bild quasi "durchschimmern" lassen, als läge es eine ebene darunter. Die transparenten stellen sollen transparent bleiben.

Gibt es da fertige Lösungen ? Habe bei Google herausgefunden, ich muss die GD Library nutzen, aber das is recht komplex und ich habe noch keine Funktion gefunden um transparenz herzustellen oder dergleichen.

Vielen Dank für Eure Antworten und die Zeit die Ihr euch genommen habt, die Frage zu lesen! ;)
 

D

DenizDBest

Guest

Hi, danke für die schnelle Antwort. Habe leider nichts gefunden da wo ich was mit anfangen kann.

Meine Idee: Ich nehme meine Schablone, nehme alles was nicht transparent ist, färbe das in eine Farbe, die in dem Bild, was eingefügt werden soll, nicht vorhanden ist. Lege Die eingefärbe Schablone über das Bild, speichere, und setze die Farbe dann transparent.

Jetzt die Frage: Wie kann ich in einem Bildobjekt meinetwegen alle Pixel, die #000 sind, #123456 färben?

Und wie kann ich eine Liste mit allen Farben erstellen, die in einem Bildobjekt vorkommen, sodass ich diese mit allen möglichen Farben von #000000 bis #FFFFFF abgleichen kann, um eine Farbe zu finden die nicht im Bild enthalten ist?
 

Duddle

Posting-Frequenz: 14µHz

Könntest du an einem Beispiel zeigen, was du genau machen willst? Wie soll ein Beispielbild mit einer Beispielschablone am Ende aussehen?


Duddle
 
D

DenizDBest

Guest

Okay: Ich versuche folgendes: Ich habe eine wechselnde Schablone mit Transparenz, z.B. die Silouette eines Menschen oder Tieres wie das hier:

Dann kann der User ein eigenes Bild hochladen.

Das PHP Script liefert dann folgendes downloadbares Resultat als PNG mit Transparenz:
 

Duddle

Posting-Frequenz: 14µHz

Nach ein paar Stichwortsuchen nach "image mask php" usw. bin ich über ein paar Beispiele gestolpert, die das mit der GD Lib machen können. Sehr viel einfacher und eleganter ist allerdings die direkte Übersetzung der ImageMagick-Beispiele nach PHP, wobei ich ein gefundenes PHP-Beispiel angepasst habe:

PHP:
<?php
$img = new \Imagick();
$img->readImage(realpath("bild.jpg"));

$maske = new \Imagick();
$maske->readImage(realpath("maske.png"));

$img->resizeimage(
    $maske->getImageWidth(),
    $maske->getImageHeight(),
    \Imagick::FILTER_LANCZOS,
    1
);

$img->compositeImage($maske, \Imagick::COMPOSITE_COPYOPACITY, 0, 0);

$img->setImageFormat('png');
header("Content-Type: image/png");
echo $img->getImageBlob();
?>


Duddle
 
D

DenizDBest

Guest

Wow meega vielen Dank für die schnelle Antwort ! ! !
Ich geh davon aus dass ich das damit direkt hinkriege, sofern mein Serveradmin Imagick auf den Server installiert :)

Kurze Frage: Kann es sein dass die aktuelle Version und die aktuelle XAMPP Version sich nicht vertragen?

Und: Das sieht ja mal mega easy aus wie du diesen Beispiel Code gepostet hast. Wenn es nicht zu viel Aufwand macht: Hättest du auch eine Variante nur mit der GD ohne Imagick im Petto?
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.616
Beiträge
1.538.358
Mitglieder
67.536
Neuestes Mitglied
QuestionMark
Oben