[PHP] Rand tekenen om letters

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik weet dat je met PHP letterafbeeldingen kunt genereren op basis van fonts (imagettftext), maar bestaat er ook een functie om een rand om letters heen te tekenen?

Ik heb op de PHP-site hier niks over kunnen vinden en met Google kwam ik alleen bij ImageMagick uit en daar werd het me niet duidelijk of je met dit programma ook een rand om een letter heen kan tekenen (ik zag wel dat je een rand om het complete plaatje kan tekenen met het programma).

Verder heb ik geprobeerd om dit probleem op te lossen; doormiddel van het het schrijven van een functie, welk doormiddel van PHP-code een rand om de letters heen tekent. Ok. deze functie werkte prima, maar het zag er niet uit, vanwege het ontbreken van anti-aliasing :). En om nou een functie te gaan schrijven met anti-aliasing lijkt me toch wel erg veel werk en tijd te gaan kosten (afgezien van het feit of het me zou lukken...).

Kortom wie biedt er een oplossing voor dit probleem?

Acties:
  • 0 Henk 'm!

  • corani
  • Registratie: December 2000
  • Laatst online: 05-10-2017

corani

__,,,_(^_^)_,,,__

twee keer over elkaar heenschrijven, waarbij de tweede keer iets kleiner?

Laat me nou toch eens met rust man!
Iedereen die in telekinese gelooft, steek a.u.b. mijn hand op


Acties:
  • 0 Henk 'm!

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 25-10-2022

Banpei

Hachiroku on this touge?

Verwijderd schreef op 24 december 2003 @ 15:23:
Ik weet dat je met PHP letterafbeeldingen kunt genereren op basis van fonts (imagettftext), maar bestaat er ook een functie om een rand om letters heen te tekenen?

Ik heb op de PHP-site hier niks over kunnen vinden en met Google kwam ik alleen bij ImageMagick uit en daar werd het me niet duidelijk of je met dit programma ook een rand om een letter heen kan tekenen (ik zag wel dat je een rand om het complete plaatje kan tekenen met het programma).

Verder heb ik geprobeerd om dit probleem op te lossen; doormiddel van het het schrijven van een functie, welk doormiddel van PHP-code een rand om de letters heen tekent. Ok. deze functie werkte prima, maar het zag er niet uit, vanwege het ontbreken van anti-aliasing :). En om nou een functie te gaan schrijven met anti-aliasing lijkt me toch wel erg veel werk en tijd te gaan kosten (afgezien van het feit of het me zou lukken...).

Kortom wie biedt er een oplossing voor dit probleem?
Postscript fonts gebruiken, daarmee kan je wel antialiassing uitvoeren. :)

AE86 gevonden! | So what I thought I'd do was, I'd pretend to be one of those deaf-mutes.


Acties:
  • 0 Henk 'm!

  • Rob
  • Registratie: Februari 2000
  • Niet online

Rob

corani schreef op 24 december 2003 @ 15:26:
twee keer over elkaar heenschrijven, waarbij de tweede keer iets kleiner?
Dat gaat niet lukken, tenzij je de ruimtes tussen de letters ook vergroot (of verkleint)

In the beginning the Internet was a bunch of smart users with dumb terminals. Now...


Acties:
  • 0 Henk 'm!

  • corani
  • Registratie: December 2000
  • Laatst online: 05-10-2017

corani

__,,,_(^_^)_,,,__

-Rob- schreef op 24 december 2003 @ 15:44:
[...]


Dat gaat niet lukken, tenzij je de ruimtes tussen de letters ook vergroot (of verkleint)
Dat kan toch? Als ik me goed herinnner tenminste :) Okay, je moet ff puzzelen om het goed te krijgen ;)

Laat me nou toch eens met rust man!
Iedereen die in telekinese gelooft, steek a.u.b. mijn hand op


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb dat over elkaar zetten van letters even in PhotoShop geprobeerd en kreeg toen het onderstaande effect. Het werkt dus niet.

Afbeeldingslocatie: http://home.planet.nl/~kempe433/overig/letter_test.jpg

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb naar beide kanten evenveel geresized voor de duidelijkheid ;)

Acties:
  • 0 Henk 'm!

  • MBV
  • Registratie: Februari 2002
  • Laatst online: 15:29

MBV

Ik zou eens goed gaan kijken naar de jpgraph library. Werkt veel met TTF, rechthoekjes etc, en onder GPL dus je mag sourcecode jatten :) Je zou hem misschien ook kunnen gebruiken, als is het nogal overkill om zo'n grote library te gebruiken voor zoiets simpels.
edit:
je kan overwegen om het editknopje te gebruiken voor zoiets :)

edit:
En waarom is het nu zo stil ineens? Is dit op een te vervelende manier geschreven, of is het probleem opgelost? Zeker in het laatste geval zouden veel mensen het op prijs stellen als je dat ook even laat weten :)

[ Voor 41% gewijzigd door MBV op 24-12-2003 18:12 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Via het forum van IM toch nog antwoord gekregen op m´n vraag, dus voor diegene die het interesseert:

RandOmLetter

  • trogdor
  • Registratie: Mei 2003
  • Laatst online: 22-04 10:17
En weer een interesante link in mijn bookmarks toegevoegd :-)
Thanx voor de tip!

  • seweso
  • Registratie: Augustus 2003
  • Laatst online: 04-04-2018

seweso

de mouw is uit de aap

Ik gebruik zelf de volgende (ietwat lompe) functie:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function imagestring2($image_resource, $dest_text, $x, $y, $border, $back_color, $front_color, $font_nr)
{
    imagestring ($image_resource, $font_nr, $x - $border, $y - $border, $dest_text, $back_color);
    imagestring ($image_resource, $font_nr, $x + $border, $y - $border, $dest_text, $back_color);
    imagestring ($image_resource, $font_nr, $x - $border, $y + $border, $dest_text, $back_color);
    imagestring ($image_resource, $font_nr, $x + $border, $y + $border, $dest_text, $back_color);

    imagestring ($image_resource, $font_nr, $x - $border, $y, $dest_text, $back_color);
    imagestring ($image_resource, $font_nr, $x + $border, $y, $dest_text, $back_color);
    imagestring ($image_resource, $font_nr, $x, $y + $border, $dest_text, $back_color);
    imagestring ($image_resource, $font_nr, $x, $y - $border, $dest_text, $back_color);


    imagestring ($image_resource, $font_nr, $x, $y, $dest_text, $front_color);  
};

seweso's blog


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

corani schreef op 24 december 2003 @ 15:46:
[...]


Dat kan toch? Als ik me goed herinnner tenminste :) Okay, je moet ff puzzelen om het goed te krijgen ;)
thomaniac heeft het al aangetoond, maar ik voeg toch nog ff wat toe.

Als je de letters kleiner maakt wordt bv het rondje in de o ook kleiner. Om een randje te krijgen moet deze juist groter zijn.

Wat je zou kunnen proberen is om eerst bold te tekenen (met een kleinere letter afstand) en vervolgens er normaal weer overheen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1