Avatar billede wosgam Nybegynder
09. april 2008 - 19:42 Der er 11 kommentarer og
1 løsning

Gd Lib - Billede til Tekst kode

Hej alle eksperter,

er der nogle der kan hjælpe mig med denne kode.

jeg vil gerne have at den laver et billede om til tekst men jeg kan ikke få den til at virke rigtigt.

på forhånd mange tusinde tak!

KODEN:

<?php
print '<body bgcolor="black">';
$billede = "http://www.brandt-moeller.com/images/fbm.jpg";
$im = imagecreatefromjpeg($billede);


list($bredde, $hojde) = getimagesize($billede);
$forhold = $hojde/$bredde; 

$bredde_ny = 100; 
$hojde_ny = round($bredde_ny*$forhold);

$dest = imagecreate($bredde_ny, $hojde_ny);

imagecopyresampled($dest, $im, 0, 0, 0, 0, $bredde_ny, $hojde_ny, $bredde, $hojde);



$ss = 0;
$farve = imagecolorallocate($dest,$r,$g,$b);

    for($x=0;$x<imagesx($dest);$x++)
    {
        for($y=0;$y<imagesy($dest);$y++)
        {
        $ss++;
            $xyfarveindex = imagecolorat($dest, $y, $x);
            $xyfarver = imagecolorsforindex($dest, $xyfarveindex);
           
           
            print '<font style="color:rgb('.$xyfarver['red'].','.$xyfarver['green'].','.$xyfarver['blue'].');">¤</font>';
            if($ss == imagefontwidth(5)+100){print '<br>';$ss=0;}
        }
    }



?>
Avatar billede olebole Juniormester
09. april 2008 - 21:37 #1
<ole>

Du kan ikke skrive et dynamisk billede ud i en HTML-fil. Du kan udskrive et billede med GDLib - men hvis det skal vises i et HTML-dokument, må du først gemme det på serveren

/mvh
</bole>
Avatar billede olebole Juniormester
09. april 2008 - 21:38 #2
Kik evt. i jakobdo's artikler om dynamiske billeder i PHP:
    http://www.eksperten.dk/artikler/index.phtml?users=jakobdo
Avatar billede jakobdo Ekspert
09. april 2008 - 22:32 #3
Olebole, manden har faktisk ret. :o)

Se kode i aktion her: http://www.codebreaker.dk/exp/827191exp.php

og her er kildekoden:
<?php
//http://www.eksperten.dk/spm/827191
print '<body bgcolor="black">';
$billede = "http://www.brandt-moeller.com/images/fbm.jpg";
$im = imagecreatefromjpeg($billede);

$bredde = imagesx($im);
$hojde  = imagesy($im);

$forhold = $hojde/$bredde;

$bredde_ny = 100;
$hojde_ny = round($bredde_ny*$forhold);

$dest = imagecreate($bredde_ny, $hojde_ny);

imagecopyresampled($dest, $im, 0, 0, 0, 0, $bredde_ny, $hojde_ny, $bredde, $hojde);

for($x=0;$x<imagesx($dest);$x++){
    for($y=0;$y<imagesy($dest);$y++){
        $xyfarveindex = imagecolorat($dest, $y, $x);
        $xyfarver = imagecolorsforindex($dest, $xyfarveindex);
        print '<font style="color:rgb('.$xyfarver['red'].','.$xyfarver['green'].','.$xyfarver['blue'].');">¤</font>';
    }
    print '<br>';
}
?>
Avatar billede olebole Juniormester
09. april 2008 - 23:13 #4
Ahhhhh ... nu forstår jeg meningen! Det skal vist ikke være et ret stort billede, før det bliver at regne for middelsvær server-, forbindelses- og browsertortur  ;D
Avatar billede jakobdo Ekspert
10. april 2008 - 00:31 #5
Olebole: Billedet bliver dog skaleret ned:

$bredde_ny = 100;
$hojde_ny = round($bredde_ny*$forhold);

Men du har jo som altid ret. :o)
Avatar billede jakobdo Ekspert
10. april 2008 - 08:28 #6
Man kunne også lave det med DIV'er.
Og måske jeg har for mange css tags, som alligevel ikke har nogen betydning...

<?php
//http://www.eksperten.dk/spm/827191
echo '<body bgcolor="black">';
$billede = "http://www.brandt-moeller.com/images/fbm.jpg";
$im = imagecreatefromjpeg($billede);

$bredde = imagesx($im);
$hojde  = imagesy($im);

$forhold = $hojde/$bredde;

$bredde_ny = 100;
$hojde_ny = round($bredde_ny*$forhold);

$dest = imagecreate($bredde_ny, $hojde_ny);

imagecopyresampled($dest, $im, 0, 0, 0, 0, $bredde_ny, $hojde_ny, $bredde, $hojde);

for($x=0;$x<imagesx($dest);$x++){
    for($y=0;$y<imagesy($dest);$y++){
        $xyfarveindex = imagecolorat($dest, $y, $x);
        $xyfarver = imagecolorsforindex($dest, $xyfarveindex);
        echo '<div style="float:left; font-size: 0px; line-height: 0px; padding: 0px; margin: 0px; float: left; width:5px; height:5px; background-color:rgb('.$xyfarver['red'].','.$xyfarver['green'].','.$xyfarver['blue'].');"></div>';
    }
    echo '<div style="clear:both"></div>';
}
?>

og kan ses her: http://www.codebreaker.dk/exp/827191expV2.php
Avatar billede wosgam Nybegynder
10. april 2008 - 13:42 #7
Hej alle sammen tak for forsøget men der er ingen af jeres koder der har hjulpet. Jeg vil nemlig gerne have at det bliver sådan nogle lunde ligesom her: http://www.text-image.com/
Avatar billede jakobdo Ekspert
10. april 2008 - 17:22 #8
Vores koder har hjulpet på det du starter med.
Så at du skriver et og mener noget andet, kan vi jo ikke gætte.

Men du skal søge nettet efter IMAGE ASCII ART GENERATOR og selvfølgelig skal det være PHP.
Avatar billede wosgam Nybegynder
15. april 2008 - 09:01 #9
det er ikke det der er forkert det er jeres scripts der laver billedet smallere end det enlig er
Avatar billede jakobdo Ekspert
15. april 2008 - 09:51 #10
Det gør du jo med din

$bredde = imagesx($im);
$hojde  = imagesy($im);

$forhold = $hojde/$bredde;

$bredde_ny = 100;
$hojde_ny = round($bredde_ny*$forhold);

$dest = imagecreate($bredde_ny, $hojde_ny);

imagecopyresampled($dest, $im, 0, 0, 0, 0, $bredde_ny, $hojde_ny, $bredde, $hojde);

Det gør du billedet mindre / resizer til 100pixels i bredden.
Avatar billede wosgam Nybegynder
07. maj 2008 - 20:54 #11
Jeg lukker intet er til min forventning desværre
Avatar billede jakobdo Ekspert
07. maj 2008 - 21:15 #12
Selv tak for hjælpen, det var så lidt...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester