Toon posts:

[PHP] ImageMagick en tekst uitlijnen

Pagina: 1
Acties:

Onderwerpen


  • alienfruit
  • Registratie: maart 2003
  • Laatst online: 00:12

alienfruit

the alien you never expected

Topicstarter
Ik ben momenteel bezig met een simpel PHP script wat tekst moet renderen in een plaatje. Hiervoor maak ik gebruik van ImageMagick alleen is het mij niet helemala duidelijk hoe ik nou tekst kan uitlijnen, bijv. links, rechts of in het midden.

Voor het renderen van de tekst gebruik ik nu:

code:
1
gm convert -size %sx%s -background transparent -fill '%s' -font %s -pointsize %s caption:'%s' %s


Nu heb je een gravity optie alleen als ik deze gebruik bijv. -gravity East om het rechts uit te lijnen alleen dat werkt niet voor mij. Iemand enig idee hoe het wel moet? De documentatie vind ik maar onduidelijk,

[Voor 20% gewijzigd door alienfruit op 29-09-2010 11:22]


  • HuHu
  • Registratie: maart 2005
  • Niet online
Ik zie helemaal geen commando staan wat überhaupt tekst in je plaatje zet? Kijk eens naar -annotate of -draw.

  • BikkelZ
  • Registratie: januari 2000
  • Laatst online: 22-08 18:33

BikkelZ

CMD+Z

HuHu schreef op woensdag 29 september 2010 @ 11:23:
Ik zie helemaal geen commando staan wat überhaupt tekst in je plaatje zet? Kijk eens naar -annotate of -draw.
Ik zie caption staan, iets wat bij het plaatje gezet wordt.

iOS developer


  • HuHu
  • Registratie: maart 2005
  • Niet online
BikkelZ schreef op woensdag 29 september 2010 @ 11:26:
[...]


Ik zie caption staan, iets wat bij het plaatje gezet wordt.
Misschien eens de handleiding lezen?
This option sets the caption meta-data of an image read in after this option has been given.

[..]

Caption meta-data ais not visible on the image itself. To do that use the -annotate or -draw options instead.
Bron: http://www.imagemagick.or...-line-options.php#caption

  • BikkelZ
  • Registratie: januari 2000
  • Laatst online: 22-08 18:33

BikkelZ

CMD+Z

Oh ja, dat was label :$

iOS developer


  • HuHu
  • Registratie: maart 2005
  • Niet online
Wederom fout:
A label is not drawn on the image, but is embedded in the image datastream via Label tag or similar mechanism. If you want the label to be visible on the image itself, use the -draw option, or during the final processing in the creation of a image montage.
Bron: http://www.imagemagick.or...nd-line-options.php#label

  • alienfruit
  • Registratie: maart 2003
  • Laatst online: 00:12

alienfruit

the alien you never expected

Topicstarter
Nou ja, het rendert wel tekst met bovenstaand commando... het immers de enigste optie (bij mijn weten) waarbij je word wrapping functionaliteit krijgt.

Hmm, blijkbaar zou gravity wel moeten werken:
http://www.imagemagick.org/Usage/text/#caption

Ik klungel nog even verder...

[Voor 30% gewijzigd door alienfruit op 29-09-2010 11:40]


  • alienfruit
  • Registratie: maart 2003
  • Laatst online: 00:12

alienfruit

the alien you never expected

Topicstarter
Nee, lijkt voor mij niet werken. Vreemd. Ik gebruik nu de volgende code maar dit zou gewoon moeten werken bij mijn weten. Alleen de tekst blijft aan de linkerkant staan ipv. in het midden.

code:
1
gm convert -size 600x180 -background transparent -fill '#CCCCCC' -font @./fonts/nobile_bold_italic.ttf -pointsize 20 -gravity Center caption:'Subtitel' ./slide-1/4.png

  • BikkelZ
  • Registratie: januari 2000
  • Laatst online: 22-08 18:33

BikkelZ

CMD+Z

Draai je al de laatste versie?

----

En caption geeft tus toch tekst......

[Voor 44% gewijzigd door BikkelZ op 29-09-2010 14:51]

iOS developer


  • alienfruit
  • Registratie: maart 2003
  • Laatst online: 00:12

alienfruit

the alien you never expected

Topicstarter
Hmm, blijkbaar werkt het niet zoals ik wil. Op de server draaide inderdaad een oudere versie. Sigh. Maar goed, dan nog als tekst in het midden wil uitlijnen wordt het ook vertikaal uitgelijnd. Niet iets wat ik wil. Het lijkt er op dat ik het uitlijnen zelf moeten via getFontMetrics. Maar dan moet ik aan de slag met een Imagick PHP module:
http://en.php.net/imagick

  • BikkelZ
  • Registratie: januari 2000
  • Laatst online: 22-08 18:33

BikkelZ

CMD+Z

Het zou me verbazen als de Imagick extensie a) meer kan en b) betrouwbaarder werkt dan het commandline verhaal. Imagick onder Windows had moeite met het openen van een file via een bestandsnaam, nou dat is dan al de basis die gewoon al fout gaat.

Misschien wat viezer, maar wellicht gezien qua tijdsdruk / kosten wel interessant, is het simpelweg mergen van twee plaatjes. Denk dat je voor een nette oplossing voor het processen van plaatjes beter naar .Net of Java kunt kijken, ImageMagick is "if it works, don't touch".

iOS developer


  • alienfruit
  • Registratie: maart 2003
  • Laatst online: 00:12

alienfruit

the alien you never expected

Topicstarter
Nou ja, met queryFontMetrics kan ik de tekst centreren en dit werkt al bijna. Ik doe word wrapping nu handmatig en vervolgens per regel de juist x,y positie.

  • NMe
  • Registratie: februari 2004
  • Nu online

NMe

Quia Ego Sic Dico.

Waarom gebruik je überhaupt de commandline hiervoor?
http://nl3.php.net/imagick

Ik zie dat je die zelf al gevonden had, maar wat is je argument om dat niet te willen gebruiken?

[Voor 38% gewijzigd door NMe op 01-10-2010 17:20]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1


Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee