Help met sigchat
Alleen hij zet alle tekst onder elkaar,
Mijn vraag is:, Hoe krijg je de tekst bijvoorbeeld in het midden, en hoe kan je kiezen waar hij bijv alleen 2 regels kan laten zien, (Bijv: Regel1: 35 pixel hoogte; Regel 2: 60 pixels)
Sigchat code:
Code (php)
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
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
<?php
include 'config.php' ;
$image = imagecreatefrompng( "sigchat.png" ) ;// hier maakt hij het plaatje van.
/*kleuren in RGB */
$wit = imagecolorallocate( $image, 255, 255, 255 ) ;
$oranje = imagecolorallocate( $image, 255, 138, 0 ) ;
$roze = imagecolorallocate( $image, 255, 182, 193 ) ;
$groen = imagecolorallocate( $image, 0, 255, 0 ) ;
$rood = imagecolorallocate( $image, 255, 0, 0 ) ;
$blauw = imagecolorallocate( $image, 0, 0, 255 ) ;
$naam = imagecolorallocate( $image, 0,0,0 ) ;//Kleur naam instellen. 0,0,0 = Zwart 255,255,255 = Wit
$text = imagecolorallocate( $image, 255,255,255 ) ;//Kleur tekst instellen. 0,0,0 = Zwart 255,255,255 = Wit
$result = mysql_query( "SELECT * FROM signchat ORDER BY id DESC LIMIT 7" ) ;
$y = 0 ;
while ( $sql = mysql_fetch_assoc($result) )
{
/* Hier kan je bepaalde namen een kleur geven zoals:
$kleur = $naam;
if(strtolower($sql['naam']) == "superfun")
$kleur = $rood;
als je daarna nog een naam wilt toevoegen moet je de
elseif functie gebruiken
Je moet geen hoofdletters invullen.
En boven nog even een kleur instellen
zoals
$oranje = imagecolorallocate($image,255,138,0);
*/
$kleur = $naam ;
if ( strtolower($sql['naam']) == "superfun" )
$kleur = $rood ;
elseif ( strtolower($sql['naam']) == "colour1" )
$kleur = $groen ;
elseif ( strtolower($sql['naam']) == "colour2" )
$kleur = $oranje ;
imagestring( $image, 3, 0, $y, $sql['naam'] . ":", $kleur ) ;
$x = ( strlen($sql['naam'] . " :") * 7 ) ;
imagestring( $image, 3, $x, $y, stripslashes($sql['bericht']), $text ) ;
$y += 12 ;
}
header( "Content-Type: image/png" ) ;
imagepng( $image, "forum.png" ) ;
imagepng( $image ) ;
imagedestroy( $image ) ;
?>
include 'config.php' ;
$image = imagecreatefrompng( "sigchat.png" ) ;// hier maakt hij het plaatje van.
/*kleuren in RGB */
$wit = imagecolorallocate( $image, 255, 255, 255 ) ;
$oranje = imagecolorallocate( $image, 255, 138, 0 ) ;
$roze = imagecolorallocate( $image, 255, 182, 193 ) ;
$groen = imagecolorallocate( $image, 0, 255, 0 ) ;
$rood = imagecolorallocate( $image, 255, 0, 0 ) ;
$blauw = imagecolorallocate( $image, 0, 0, 255 ) ;
$naam = imagecolorallocate( $image, 0,0,0 ) ;//Kleur naam instellen. 0,0,0 = Zwart 255,255,255 = Wit
$text = imagecolorallocate( $image, 255,255,255 ) ;//Kleur tekst instellen. 0,0,0 = Zwart 255,255,255 = Wit
$result = mysql_query( "SELECT * FROM signchat ORDER BY id DESC LIMIT 7" ) ;
$y = 0 ;
while ( $sql = mysql_fetch_assoc($result) )
{
/* Hier kan je bepaalde namen een kleur geven zoals:
$kleur = $naam;
if(strtolower($sql['naam']) == "superfun")
$kleur = $rood;
als je daarna nog een naam wilt toevoegen moet je de
elseif functie gebruiken
Je moet geen hoofdletters invullen.
En boven nog even een kleur instellen
zoals
$oranje = imagecolorallocate($image,255,138,0);
*/
$kleur = $naam ;
if ( strtolower($sql['naam']) == "superfun" )
$kleur = $rood ;
elseif ( strtolower($sql['naam']) == "colour1" )
$kleur = $groen ;
elseif ( strtolower($sql['naam']) == "colour2" )
$kleur = $oranje ;
imagestring( $image, 3, 0, $y, $sql['naam'] . ":", $kleur ) ;
$x = ( strlen($sql['naam'] . " :") * 7 ) ;
imagestring( $image, 3, $x, $y, stripslashes($sql['bericht']), $text ) ;
$y += 12 ;
}
header( "Content-Type: image/png" ) ;
imagepng( $image, "forum.png" ) ;
imagepng( $image ) ;
imagedestroy( $image ) ;
?>
Bedankt.
Gewijzigd op 01/01/1970 01:00:00 door Frankyy
Met de derde parameter van de functie verplaatst je de tekst horizontaal, de zogenaamde X coordinaat.
Dus als je de tekst in het midden van het plaatje wil hebben moet je dus weten:
1. Hoe breed is het plaatje waar het tekst in komt.
2. Hoeveel neemt de tekst in beslag aan ruimte omgerekend in pixels.
De tweede parameter van imagestring is de keuze of om een voorgedefineerde font te gebruiken (0 t/m 5) en biedt ook de mogelijkheid om een externe font te gebruiken.
Maar dat is nu niet zo belangrijk, de keuze 3 heeft een bepaalde breedte en hoe breed die is, kan ik je niet zeggen maar dat is een kwestie van gokken en indien de berekening niet klopt dan verhoog of verlaag je een waarde.
Maar stel je voor dat 1 letter via imagestring, keuze font 3, 10 pixels breed is.
Je tekst die je invoert is 15 tekens lang, dus 15 tekens maal 10 pixels = 150 pixels, als het plaatje 500 pixels breed is dan hou je 500-150 = 350 pixels over.
350 gedeelt door 2 = 175
Dan heb je dus:
[175 pixels ] [je tekst van 150 pixels ] [175 pixels]
Daarmee heb je dus coordinaat X bepaald, dat dit dus 175 wordt en dan zal je tekst in theorie in het midden staan.
Enigste nog, Hoe krijg je de tekst een stukje naar rechts ? (Ook wel, Wat moet ik veranderen in het script daarvoor)
Gewijzigd op 01/01/1970 01:00:00 door Frankyy