Versio

[vervolg]Gd geen error bji fout???

Overzicht Reageren

Pepijn

Pepijn

27/01/2010 19:46:00
Quote Anchor link
Ik zat een beetje te spelen met GD library, met dit script van sitemasters.

$tekst = sitemasters;
werkt gewoon, terwijl er geen ' ' om sitemasters staan?


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
<?php
header("content-type: image/png");
$image = ImageCreate(82.5, 50); //Plaatje aanmaken met X=300 en Y=75

//We maken een achtergrondkleur

$achtergrond = ImageColorAllocate($image, 255, 255, 255); //255, 255, 255 = Wit
//De grootte van ons lettertype

$grootte = 12;
//Tekst die we op ons plaatje willen.
$tekst = sitemasters;
//Tekstkleur
$kleur = ImageColorAllocate($image, 255, 0, 0); //255, 0, 0 = Rood
//Het font selecteren, VERGEET DEZE NIET TE UPLOADEN !

$font = 'lucidaconsole.ttf';
//De functie word onder het voorbeeld uitgelegd!
ImageTTFText($image, $grootte, 0, 0, 25, $kleur, $font, $tekst);
//Het plaatje aanmaken.
ImagePng($image);
//Het plaatje verwijderen uit het geheugen
ImageDestroy($image);
?>
Gewijzigd op 01/01/1970 01:00:00 door Pepijn
 
PHP hulp

PHP hulp

25/05/2012 17:40:42
Gesponsorde koppelingen:
 
Karl Karl

Karl Karl

27/01/2010 19:50:00
Quote Anchor link
error_reportin(E_ALL); en ini_set('display_errors', 1); bovenaan zetten. Dan nog een # voor regel 18 zodat je de fouten krijgt en je krijgt:
Notice: Use of undefined constant sitemasters - assumed 'sitemasters' in
terug.
 
SilverWolf NL

SilverWolf NL

27/01/2010 19:50:00
Quote Anchor link
Dan heb je je error reporting uit staan, want normaal zou het wel een error geven. Neem maar eens iets met een spatie ertussen, dan geeft hij waarschijnlijk wel een error. PHP is aardig voor je, maar zo hoort het in ieder geval niet.
 
Pepijn

Pepijn

27/01/2010 22:00:00
Quote Anchor link
Ik ben bezig met een class dat alle email adressen uit een tekst haalt en deze omzet naar plaatjes:
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
<?php
error_reporting(E_ALL);
class mail2image {
    
    public $color;
    public $dir;
    
    public function __construct($color, $dir) {
        $this->color = explode(', ', $color);
        
        $this->dir = $dir;
    }

    public function text($text) {
        $text = explode(' ', $text);
        foreach ($text as &$value) {
            if(preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/', $value))
            {

                $this->gen_image($value);
                $value = '<img src="'.$this->dir.sha1($value).'.png">';
            }
        }

        return implode(' ', $text);
    }

    private function gen_image($mail) {
        $font = imageloadfont('courier8.gdf');
        $width = imagefontwidth($font)*strlen($mail);
        $height = imagefontheight($font);
        
        $image = imagecreatetruecolor($width, $height);
        
        $trns = imagecolortransparent($image, imagecolorallocate($image, 0, 0, 0));
        $color = imagecolorallocate($image, $this->color[0], $this->color[1], $this->color[2]);
        
        imagefilledrectangle($image, 0, 0, $width, $height, $trns);
        
        imagestring($image, $font, 0, 0, $mail, $color);
        
        imagepng($image, $this->dir.sha1($mail).'.png');
        imagedestroy($image);
    }
}


$image = new mail2image('255, 0, 0', 'afbeelding/');
echo $image->text('eenmail@gmail.com hallo ik ben pepijn hoe gaat het , dit is mijn domein naam pbogaard.nl iets@gmail.com iets@hotmail.com');
?>


Dit werkt uitstekend, alleen als ik zwarte tekst wil en dus
new mail2image('0,0,0', 'afbeelding/'); doe dan krijg ik geen geen tekst.

Hoe komt dit?

Mvg
Pepijn
 
Steen

steen

27/01/2010 22:13:00
Quote Anchor link
Foutje
Gewijzigd op 01/01/1970 01:00:00 door steen
 
SilverWolf NL

SilverWolf NL

28/01/2010 12:19:00
Quote Anchor link
Omdat je geen spaties tussen de komma's zet dan (bij 0,0,0). In je script staat dat er spaties tussen moeten zitten. Dan zou hij gewoon moeten werken...
 



Overzicht Reageren

Get Adobe Flash player