I love...

Door Onbekend Onbekend, 15 jaar geleden, 3.784x bekeken

Laten zien wat imagettftext, imagettfbbox en imagesetpixel allemaal kunnen bereiken. Ik het dit script in 10 minuten gemaakt, het meeste werk was uitzoeken welke pixel voor het hartje waar moest.

Lettertype heet 04b08: http://phphulp.gamerswiki.nl/ilove/04b08.ttf
Gewoon even opslaan in de zelfde dir als het script.

Voorbeeld: http://phphulp.gamerswiki.nl/ilove/ilove.php

Gesponsorde koppelingen

PHP script bestanden

  1. i-love

 

Er zijn 59 reacties op 'I love'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Citroen Anoniem Graag
Citroen Anoniem Graag
15 jaar geleden
 
0 +1 -0 -1
Er gaat iets mis met slashes. Verder leuk script! De vraag is alleen wat je er aan hebt.

Ff code blokken voor de kleurtjes(A)
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Je ziet dat ik niets aan foutafhandeling doe.

Een script niet afsluiten met ?> kost de server minder tijd en load. Daarom doe ik dat nooit. En vandaar dat er geen codeblock kwam.

Wat je er aan hebt? Een hééle leuke avatar net als ik en het is voor beginners die dit soort dingen misschien fijn vinden, want het is niet te moeilijk en ze kunnen het makkelijk zelf aanpassen.

Even getrimt en geslashstripped.
Karl Karl
Karl Karl
15 jaar geleden
 
0 +1 -0 -1
Hmm... Vind dit niet zoveel toevoegen... Bovendien, http://nl3.php.net/imagesetpixel laat al genoeg zien.
Het enige wat "bijzonder" is aan dit script, is dat het 20 pixel zelf zet.... Maar dat vind je ook al in de handleiding van php, en je kunt dit zelf ook in 1-2-3 maken. Voegt naar mijn id dus niks toe.
Jelmer -
Jelmer -
15 jaar geleden
 
0 +1 -0 -1
Ik vind het wel grappig. Je laat zien hoe je de benodigde grootte kan bereken en verder is het heerlijk duidelijk hoe het allemaal werkt. Je kan het goed gebruiken voor die tekstjes die je onder iedere post hebt op fora.

Je zou een variant kunnen maken die alleen setpixel gebruikt, moet niet lastig zijn met dit lettertype. Je had ook het hartje met een array & foreach-lus kunnen maken zodat je niet 18 aanroepen naar setpixel hoeft te kopiëren en plakken.
- -
- -
15 jaar geleden
 
0 +1 -0 -1
Zorg er wel even voor dat je bijv. ook speciale tekens ken gebruiken ;)

http://gamerswiki.nl/ilove.php?text=€¬^¿ç¥×¡²³¤€¼½¾’‘’
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Dat lettertype bevat gewoon niet die tekens. Het is een niet zo'n uitgebreid lettertype omdat het alleen maar pixels zijn. En niet groter kunnen worden of kleiner

Een foreach heb ik ook aan zitten denken, maar even ctrl+c en ctrl+v was makkelijker, misschien dat ik dat vanavond als ik terug kom van school even doe.
Gerben Jacobs
Gerben Jacobs
15 jaar geleden
 
0 +1 -0 -1
Lol at 'red2'. Grappig dat je gaat AA'en.
- wes  -
- wes -
15 jaar geleden
 
Terence Hersbach
Terence Hersbach
15 jaar geleden
 
0 +1 -0 -1
toch wel kut, je kan maar 4066 tekens invoeren, daarna gaat ie over z'n nek
Sahbil
sahbil
15 jaar geleden
 
0 +1 -0 -1
leuk scripts
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
AA'en? Ik ben geen alcoholist (niet zo heel erg dan).

Vind je 4066 te weinig? Heb je dat btw getelt?
Kristof Debleu
Kristof Debleu
15 jaar geleden
 
0 +1 -0 -1
Je zou dit kunnen uitbreiden met een input veld, waar je zelf een tekst kunt typen en dat er dan een png file automatisch word aangemaakt, dat mensen die dan kunnen gebruiken...
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
omdat jij het bent zal ik dat eens even maken.

grapje, ik heb even geen zin, doe ik vannacht.
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Yay, mijn script staat als enige bij de comments.. :)
Marvin S
Marvin S
15 jaar geleden
 
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Oké, fijn hè.
Kristof Debleu
Kristof Debleu
15 jaar geleden
 
0 +1 -0 -1
Kun je bovenstaande code eens aanpassen, zoals het nu op uw voorbeeld staat aub? Ziet er top uit, bedankt om dit aan te passen.
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Ik wilde dat als je je naam en email adres op gaf de avatar meteen op phphulp gewijzigd wordt, maar dat werkt niet echt, heel m'n profiel was daarnet naar de klote.
Terence Hersbach
Terence Hersbach
15 jaar geleden
 
0 +1 -0 -1
Maak dit er even van in je voorbeeld:
<input name="text" type="text" value="Myself" onkeypress="document.getElementById('ilove').src = 'ilove.php?text=' + escape(this.value);" />

anders lukt het niet als je met een # begint..
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
done.
M Rodrigo
M Rodrigo
15 jaar geleden
 
0 +1 -0 -1
dit is zo geinig dat dit met php kan :)
M Rodrigo
M Rodrigo
15 jaar geleden
 
0 +1 -0 -1
dit is zo geinig dat dit met php kan :)
Wouter De Schuyter
Wouter De Schuyter
15 jaar geleden
 
0 +1 -0 -1
Cool script!
Ik heb het hier staan http://paradox-tutorials.paradox-productions.net/?page=Tutorials
Maar ik vind niet waar ik de hoogte van het plaatje kan instellen want ik vind het eerlijk gezegd niet hoog genoeg, tis jammer dat de rand er zo tegen plakt..
Kristof Debleu
Kristof Debleu
15 jaar geleden
 
0 +1 -0 -1
Ik zie op uw site Paradox™ dat je zet opslaan als, maar je kunt dit niet opslaan...
Misschien kan Tommy deze functie er inbouwen....
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Kijk eens goed waar je de hoogte van de afbeelding kunt instellen..
Erwin Nieuwenhuis
Erwin Nieuwenhuis
15 jaar geleden
 
0 +1 -0 -1
idd, je download alleen de php-file. Omdat het geen image is, maar php.
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Done, het werkt nu. Nu kun je gewoon meteen opslaan als doen. Heb even een htaccess aangemaakt.
Karl Karl
Karl Karl
15 jaar geleden
 
0 +1 -0 -1
Paradox&#8482;:
Maar ik vind niet waar ik de hoogte van het plaatje kan instellen want ik vind het eerlijk gezegd niet hoog genoeg, tis jammer dat de rand er zo tegen plakt..

Zie imagecreate: resource imagecreate ( int $width , int $height )

Let wel op, je zult imagettftext en het hartje dan ook groter moeten maken.
Jan Koehoorn
Jan Koehoorn
15 jaar geleden
 
0 +1 -0 -1
In FF3 is de lay-out enigszins vreemd; het plaatje plakt tegen het tekstvak aan. Verder loopt het plaatje 1 letter achter op de invoer. Verder in ieder geval een origineel script.
Hipska BE
Hipska BE
15 jaar geleden
 
0 +1 -0 -1
kan je niet nog net een klein randje van 1px in het wit er bij doen?
dan is ie perfect :)
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Het gaat om het plaatje hè Jan ;). Ik heb onkeypress onkeyup gemaakt, dat moet er voor zorgen dat het goed gaat.

Ik zal eens één pixel er bij doen voor Hipska.
Kristof Debleu
Kristof Debleu
15 jaar geleden
 
0 +1 -0 -1
Moet je dan het plaatje ilove_myself.png ook uploaden of ilove_.png ?
J A
J A
15 jaar geleden
 
0 +1 -0 -1
Misschien moet je even in je input een maximum aan letters invoeren. Nu crasht hij naar ongeveer 250 tekens :P
Thijs X
Thijs X
15 jaar geleden
 
0 +1 -0 -1
@Kristof Debleu,

Nee dat hoeft niet, enigste wat je moet upload is het script en het lettertype.
Kristof Debleu
Kristof Debleu
15 jaar geleden
 
0 +1 -0 -1
@ Thijs
Het wil niet echt lukken bij mij:
http://www.kristofdebleu.net/website/love/ilove.php

Het het script, lettertype en htaccess geupload, maar dan krijg ik bovenstaande...
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Roep de afbeelding is direct op? ilove.php?text=text en dan kijken of het wel werkt.

Dat werkt dus niet. Haal de content-type header eens weg en roep dan de afbeelding direct aan. Dan krijg je een PHP error.

En wie houdt er nou van iemand met een naam die langer is dan 250 tekens?
Karl Karl
Karl Karl
15 jaar geleden
 
0 +1 -0 -1
Kristof Deblue, bestaat / werkt de functie imagettfbbox wel bij jou? Dus doe eens een var_dump($width); na die regel met imagegettfbbox.
En misschien moet je van:
$img = imagecreate($width[2] + 10, 6); // +10 voor eventuele veiligheid
het volgende maken:
$img = imagecreate(($width[2] + 10), 6); // +10 voor eventuele veiligheid
Jacco Engel
Jacco Engel
15 jaar geleden
 
0 +1 -0 -1
Quote:
Kristof Deblue, bestaat / werkt de functie imagettfbbox wel bij jou? Dus doe eens een var_dump($width); na die regel met imagegettfbbox.
En misschien moet je van:
$img = imagecreate($width[2] + 10, 6); // +10 voor eventuele veiligheid
het volgende maken:
$img = imagecreate(($width[2] + 10), 6); // +10 voor eventuele veiligheid


Ik denk dat de scriptmaker dit gewoon in zn scrpit moet opnemen. Alleen dan het vardump gedeelte even vervangen door http://nl3.php.net/function_exists
Karl Karl
Karl Karl
15 jaar geleden
 
0 +1 -0 -1
@Jacco: Hmm... Jah, ik had er niet aan gedacht dat het bij andere ook nog wel eens zou kunnen zijn dat zij die functie niet hebben. Vandaar dus dus var_dump. Inderdaad is het als het met het script mee geleverd wordt beter om een afhandeling van function_exists te doen.

@Hieronder: Hahaha, jah...
Jacco Engel
Jacco Engel
15 jaar geleden
 
0 +1 -0 -1
Als je het dan ook goed typt weet je zeker dat het werkt ;)
Erwin Nieuwenhuis
Erwin Nieuwenhuis
15 jaar geleden
 
0 +1 -0 -1
@daniel, wat is er moeilijk aan om 47 regeltjes code te kopieren???
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Als wat werkt bij mij dan post ik dat hier. Ik heb alles getest op een (naar mijn weten) perfect ingerichte server qua PHP. Alles is up-to-date, dus als het niet werkt dan zal dat aan jouw server liggen.
Karl Karl
Karl Karl
15 jaar geleden
 
0 +1 -0 -1
Oke, een tikkie minder uit de hoogte mag het ook wel. Ik heb het effe hier op localhost getest, ik krijg niet eens een plaatje....
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
# weghalen in PHP config? En je moet dan even van de header() commentaar maken, dan krijg je waarschijnlijk een error. Op iedere server is het anders.
Karl Karl
Karl Karl
15 jaar geleden
 
0 +1 -0 -1
Nee, geen # waar dan ook weghalen in php.ini. En ook niet van die header commentaar maken, gewoon in firefox source pakken. Ben alleen dat stomme font van je vergeten:
The requested URL /04b08.ttf was not found on this server.
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Lol, daar heb ik een oplossing voor:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
    header("Content-type: image/png");
    
    function
pixeltype ($text='Myself') {
        $img = imagecreate(200, 6); // +10 voor eventuele veiligheid
        
        $white = imagecolorallocate($img, 255, 255, 255);
        $black = imagecolorallocate($img, 0, 0, 0);
        
        $chars['a'][0][0] = true;
        $chars['a'][0][1] = true;
        $chars['a'][0][2] = true;
        $chars['a'][0][3] = true;
        $chars['a'][0][4] = true;
        $chars['a'][1][0] = true;
        $chars['a'][1][1] = false;
        $chars['a'][1][2] = true;
        $chars['a'][1][3] = false;
        $chars['a'][1][4] = false;
        $chars['a'][2][0] = true;
        $chars['a'][2][1] = false;
        $chars['a'][2][2] = true;
        $chars['a'][2][3] = false;
        $chars['a'][2][4] = false;
        $chars['a'][3][0] = true;
        $chars['a'][3][1] = false;
        $chars['a'][3][2] = true;
        $chars['a'][3][3] = false;
        $chars['a'][3][4] = false;
        $chars['a'][4][0] = true;
        $chars['a'][4][1] = true;
        $chars['a'][4][2] = true;
        $chars['a'][4][3] = true;
        $chars['a'][4][4] = true;
        
        $chars['b'][0][0] = true;
        $chars['b'][0][1] = true;
        $chars['b'][0][2] = true;
        $chars['b'][0][3] = true;
        $chars['b'][0][4] = true;
        $chars['b'][1][0] = true;
        $chars['b'][1][1] = false;
        $chars['b'][1][2] = true;
        $chars['b'][1][3] = false;
        $chars['b'][1][4] = true;
        $chars['b'][2][0] = true;
        $chars['b'][2][1] = false;
        $chars['b'][2][2] = true;
        $chars['b'][2][3] = false;
        $chars['b'][2][4] = true;
        $chars['b'][3][0] = true;
        $chars['b'][3][1] = false;
        $chars['b'][3][2] = true;
        $chars['b'][3][3] = false;
        $chars['b'][3][4] = true;
        $chars['b'][4][0] = false;
        $chars['b'][4][1] = true;
        $chars['b'][4][2] = true;
        $chars['b'][4][3] = true;
        $chars['b'][4][4] = false;
        
        $chars['c'][0][0] = true;
        $chars['c'][0][1] = true;
        $chars['c'][0][2] = true;
        $chars['c'][0][3] = true;
        $chars['c'][0][4] = true;
        $chars['c'][1][0] = true;
        $chars['c'][1][1] = false;
        $chars['c'][1][2] = false;
        $chars['c'][1][3] = false;
        $chars['c'][1][4] = true;
        $chars['c'][2][0] = true;
        $chars['c'][2][1] = false;
        $chars['c'][2][2] = false;
        $chars['c'][2][3] = false;
        $chars['c'][2][4] = true;
        $chars['c'][3][0] = true;
        $chars['c'][3][1] = false;
        $chars['c'][3][2] = false;
        $chars['c'][3][3] = false;
        $chars['c'][3][4] = true;
        $chars['c'][4][0] = true;
        $chars['c'][4][1] = false;
        $chars['c'][4][2] = false;
        $chars['c'][4][3] = false;
        $chars['c'][4][4] = true;
        
        $lastX = 1;
        
        foreach ($chars as $char) {
            foreach ($char as $x => $value) {
                foreach ($value as $y => $value) {
                    if ($value) imagesetpixel($img, ($lastX + $x), ($y + 1), $black);
                }
            }

            $lastX += 6;
        }


        imagepng($img);
        imagedestroy($img);
    }

    
    pixeltype ($_GET['text']);
?>


Ik had een idee om de letters te pixelen met PHP, maar ik had geen zin meer om die pixels op te geven na a, b en c.
Karl Karl
Karl Karl
15 jaar geleden
 
0 +1 -0 -1
Das geen oplossing.
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Niet voor dat probleem, maar als je dat lettertype niet wilt uploaden, dan kun je dat doen. Moet je het wel een beetje aanpassen het script.
Karl Karl
Karl Karl
15 jaar geleden
 
0 +1 -0 -1
Jij bied dat lettertype wat je gebruikt niet meer aan...
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Onee? Kijk maar eens goed. (srry, heb een subdomein aangemaakt, had alleen voorbeeld url verandert.
Karl Karl
Karl Karl
15 jaar geleden
 
0 +1 -0 -1
Dan heb je het inderdaad niet meer aangeboden. Als je niet met htaccess wilt werken kan je van dat html stukje ook:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<input name="text" type="text" value="Myself" onkeyup="document.getElementById('ilove').src = 'ilove.php?text=' + escape(this.value);" />
<div id="test"></div>
<img src="ilove.php?text=myzelf" id="ilove" />

maken.
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
offcource, but it is 'myself'.
Karl Karl
Karl Karl
15 jaar geleden
 
0 +1 -0 -1
Dat heb ik expres neer gezet, maar dat snap jij natuurlijk niet.
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Waarom zou je dat expres willen doen? Als het als grapje is is het niet eens grappig.
Karl Karl
Karl Karl
15 jaar geleden
 
0 +1 -0 -1
Nee het is geen grapje. Waarom zou ik het niet doen? Het heeft geen enkele rede waarom ik het heb gedaan, ik heb het gewoon zo gedaan. Als ik dat niet wou had ik niet van die s een z gemaakt, en als ik me vertikt had zou ik dat wel weer weggehaalt hebben.
Harmen
Harmen
15 jaar geleden
 
0 +1 -0 -1
zucht, tommy :'(
Onbekend Onbekend
Onbekend Onbekend
15 jaar geleden
 
0 +1 -0 -1
Hey m'n script wordt vaak op forums gebruikt als avatar, toch leuk..
Wesley Overdijk
wesley Overdijk
14 jaar geleden
 
0 +1 -0 -1
http://www.waysoflife.eu/percent/tjekken.php?text=solow

oud topic XD?

gaat in ieder geval iets mis bij mij :(
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Dick oo
dick oo
13 jaar geleden
 
0 +1 -0 -1
Ik denk dat er wat fout gaat!

Wat een leuk script :$
Die heb ik mooi meegenomen (A)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. i-love

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.