Serverside image genereren

Pagina: 1
Acties:

  • smoking2000
  • Registratie: September 2001
  • Laatst online: 06:28

smoking2000

DPC-Crew

dpkg-reconfigure reality

Topicstarter
Voor een klant moet ik een een functie bouwen waarmee een JPG bestand word gegenereerd aan de hand van de text die de user heeft ingevoerd op de website. M.a.w de ingevoerde text word in bv PERL Magick in de Annotate methode ingevoegd bij text=><hier komt die text>
Het JPG bestand moet 3,5 cm (99 pixels) breed zijn, en de text daarin mag niet MEER dan 7 regels text beslaan. Aan de hand daarvan moet de hoogte van het JPG'tje bepaald worden. En de text moet een font-size van 8 punten hebben.

Ik heb verschillende technieken geprobeerd;
• Een custom made GIMP script (Script-Fu),
• GD.pm,
• ImageMagick/PERLMagick

Alle bovengenoemde programma's en technieken hebben een gedeeld probleem:
De ingevoerde text word als 1 lange string achter mekaar geplakt. Dus slechts de eerste paar woorden zijn zichtbaar, de rest valt buiten het JPG'tje. Een maximaal aantal characters per regel vaststellen is geen optie, aangezien het gebruikte lettertype (Helvetica) geen gelijke breedte heeft voor elk character.

Weet iemand hoe ik (het liefst met PERL) ervoor kan zorgen dat de rest van de text op nieuwe regels komt. Of die een programma, techniek, PERL Module weet waarmee ik dit kan doen?

| [Folding@Home] Announce: Client monitor voor Linux (fci) | fci-1.8.4 | Fatal Error Group |


  • Juup
  • Registratie: Februari 2000
  • Niet online
Je zou een array kunnen maken van de breedte van elke letter in pixels en daarmee je string afknippen op de gewenste lengte.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

GD kent methoden om aan te geven hoe groot de bounding box van een string wordt, daarmee zou je dan een beetje moeten kunnen knoeien en knippen om te kijken of iets wel past.

Bijv door achteraan steeds een karakter weg te halen tot het past en vervolgens op de volgende regel hetzelfde doen.

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

vergeet dan niet ook een fixed-width font te gebruiken.

text afbreken is niet zo moeilijk. het zal in perl niet veel moeilijker zijn dan in php

Stop uploading passwords to Github!


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Papa Eend schreef op 14 augustus 2002 @ 18:27:
vergeet dan niet ook een fixed-width font te gebruiken.

Das toch niet nodig??

Verwijderd

ik heb ook wel s zoiets soortgelijks gedaan. Ik moest toen tekst rechts uitlijnen en moest hiervoor dus uitrekenen waar de tekst links moest beginnen. In een array de breedte van alle letters van het te gebruiken font zetten, was toen een vrij eenvoudige oplossing. Ik denk dat je daarmee ook nu wel een eind kan komen.

  • muba
  • Registratie: April 2002
  • Laatst online: 19-10-2013

muba

Prince of Persia!

Nja dat is ook het eerste waar ik aan dacht, alle breedte van alle tekens in een array zetten, niet alleen de letters... want de gebruiker mag toch ook wel cijfers en !@$%&*()-+={}[]:;"',<.>/? enzo gebruiken, om maar een selectie te geven van de meest gebruikte tekens? En what about letters met accenten?

Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

MUBA schreef op 14 augustus 2002 @ 20:37:
Nja dat is ook het eerste waar ik aan dacht, alle breedte van alle tekens in een array zetten, niet alleen de letters... want de gebruiker mag toch ook wel cijfers en !@$%&*()-+={}[]:;"',<.>/? enzo gebruiken, om maar een selectie te geven van de meest gebruikte tekens? En what about letters met accenten?
Papa Eend schreef op 14 augustus 2002 @ 18:27:
vergeet dan niet ook een fixed-width font te gebruiken.
O-)

Stop uploading passwords to Github!


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier


Had je wel gelezen wat de eis was??
Een maximaal aantal characters per regel vaststellen is geen optie, aangezien het gebruikte lettertype (Helvetica) geen gelijke breedte heeft voor elk character.
...

  • smoking2000
  • Registratie: September 2001
  • Laatst online: 06:28

smoking2000

DPC-Crew

dpkg-reconfigure reality

Topicstarter
D'r is dus niet een methode om een soort virtueel kader aan te geven?
Of een autowrap functie?

| [Folding@Home] Announce: Client monitor voor Linux (fci) | fci-1.8.4 | Fatal Error Group |


  • kaandorp
  • Registratie: November 1999
  • Laatst online: 27-08 19:31
Jawel... In GD wel.

  • smoking2000
  • Registratie: September 2001
  • Laatst online: 06:28

smoking2000

DPC-Crew

dpkg-reconfigure reality

Topicstarter
Waardan? In GD zelf zit 't niet, ben nu heel CPAN aan t doorspitten voor iets bruikbaars, heb daar wel wat GD "add-on" modules (bijv. GD::Text) gevonden, bedoel je dat?

| [Folding@Home] Announce: Client monitor voor Linux (fci) | fci-1.8.4 | Fatal Error Group |


  • kaandorp
  • Registratie: November 1999
  • Laatst online: 27-08 19:31
smoking2000 schreef op 15 augustus 2002 @ 10:27:
[...]


Waardan? In GD zelf zit 't niet, ben nu heel CPAN aan t doorspitten voor iets bruikbaars, heb daar wel wat GD "add-on" modules (bijv. GD::Text) gevonden, bedoel je dat?
Moet het perse met PERL, of mag het ook met PHP?

Dan weet ik het namelijk wel:
http://www.php.net/manual/en/function.imageftbbox.php

  • smoking2000
  • Registratie: September 2001
  • Laatst online: 06:28

smoking2000

DPC-Crew

dpkg-reconfigure reality

Topicstarter
kaandorp schreef op 15 augustus 2002 @ 10:33:
[...]

Moet het perse met PERL, of mag het ook met PHP?

Dan weet ik het namelijk wel:
http://www.php.net/manual/en/function.imageftbbox.php
Het moet niet, maar liever wel onze webserver doet alles met PERL

| [Folding@Home] Announce: Client monitor voor Linux (fci) | fci-1.8.4 | Fatal Error Group |


  • smoking2000
  • Registratie: September 2001
  • Laatst online: 06:28

smoking2000

DPC-Crew

dpkg-reconfigure reality

Topicstarter
Ik heb echt zitten slapen geloof ik, ben voor de tweede keer door CPAN gaan zoeken, en nu heb ik 'm wel gevonden. GD::Text::Wrap. Dat doet net dat beetje extra wat GD en GD::Text niet doen.

Mensen, ik dank u voor de tips en aanwijzingen.

En wat mij betreft mag deze dan op slot.

| [Folding@Home] Announce: Client monitor voor Linux (fci) | fci-1.8.4 | Fatal Error Group |

Pagina: 1