2017-06-04 5 views
1

Originalbild: Original image Hier ist, was ich brauche: Here what i need Es sollte aus diesem kleinen Ziegel erstellt werden: It should be created from this small tileWie mache ich gekachelte Bilder ohne exec-Funktion?

Viele Menschen legen nahe, ImageMagick-Lösung zu verwenden (es php exec-Funktion) - http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=21867:

convert frame_template.gif \ 
-tile blackthin_top.gif -draw 'color 1,0 floodfill' -rotate 90 \ 
-tile blackthin_btm.gif -draw 'color 1,0 floodfill' -rotate 90 \ 
-tile blackthin_top.gif -draw 'color 1,0 floodfill' -rotate 90 \ 
-tile blackthin_btm.gif -draw 'color 1,0 floodfill' -rotate 90 \ 
-gravity center thumbnail.gif -composite frame_filled.gif 

oder

picFrame Lösung (it php exec-Funktion) - http://www.fmwconcepts.com/imagemagick/picframe/index.php:

picframe [-f frameid] [-m mattesize] [-c mattecolor] [-b bordersize] [-s shade] [-a adjust] [-o opacity ] [-d distance] infile outfile 

PHP imagick hat große Fähigkeit Farbgrenzen mit zu erstellen:

$imagick = new \Imagick('image.jpg'); 
$imagick->scaleImage(300, 300, false); 

// Create frame placeholder 
$imagick->frameimage('red','30','30', 30, 0); 

// Flood fill with color 
$imagick->floodFillPaintImage('green', 10, '#6e0000',0, 0,false 
); 

header("Content-Type: image/jpg"); 
echo $imagick->getImageBlob(); 

Aber PHP imagick verwenden, können nicht Ihr eigenes Bild Fliesenrahmen zu schaffen, nur Unifarben. Hier ist sehr verwandte Frage - How to flood fill the frame with a pattern image using imagick php class?

Eine andere gute Lösung von - https://stackoverflow.com/a/28778953/2337706, aber es erstellt Bild aus großen PNG-Frames und Sie sollten die richtige Bildgröße wissen.

Ich weiß, dass ich es mit php GD - http://php.net/manual/en/ref.image.php schaffen kann, aber ich weiß nicht, wie richtig es auf diese Weise implementieren.

+0

gewünscht Was mit PHP exec() ist falsch? Es macht es wirklich einfach, eine bereits vorhandene Lösung zu verwenden und muss sie nicht noch einmal neu erfinden. – fmw42

+0

@ fmw42 Ja, Sie haben recht, es ist einfach zu bedienen und praktisch, aber viele Kunden nutzen Shared Hosting, die keinen Zugang bieten php exec() oder ich bin nicht richtig? – kostya572

+0

Ich mache nicht viel mit Imagick und habe das nicht versucht, aber http://us3.php.net/manual/en/imagick.textureimage.php ist die Funktion, die ein Bild kacheln wird. Sie sollten in der Lage sein, damit Ihre gewünschten Ergebnisse zu erzielen. – fmw42

Antwort

0

In ImageMagick konnte man nur etwas Einfaches wie dies tun:

convert a1Wit.jpg -mattecolor black -frame 10x10+3+3 -gravity west -chop 3x0 -bordercolor gold -border 3 frame_result.jpg 

enter image description here

Diese Befehle sollten leicht genug sein, um in Imagick zu übersetzen. Siehe http://us3.php.net/manual/en/imagick.frameimage.php und http://us3.php.net/manual/en/imagick.chopimage.php und http://us3.php.net/manual/en/imagick.borderimage.php

Oder einfach:

convert a1Wit.jpg -bordercolor black -border 7 -bordercolor "gray(35%)" -border 3 -bordercolor "#D0A456" -border 3 frame_result2.jpg 

enter image description here

Oder

convert a1Wit.jpg -mattecolor "gray(30%)" -frame 13x13+5+5 -gravity northwest -shave 5x5 -bordercolor "#D0A456" -border 3 frame_result3.jpg 

enter image description here

Oder

convert a1Wit.jpg -mattecolor "gray(30%)" -frame 13x13+5+5 -gravity northwest -bordercolor "#D0A456" -border 3 frame_result4.jpg 

enter image description here

die Dicke Farbe anpassen als

Verwandte Themen