Avatar billede simonvalter Praktikant
15. februar 2003 - 19:20 Der er 5 kommentarer og
1 løsning

nfo til png

jeg har prøvet at finde noget der kan lave det i flere uger så nu prøver jeg her ...
jeg kunne godt tænke mig at generere et png/gif billede fra en .nfo fil men jeg ved ikke hvordan ..

i kan se her hvad jeg mener
http://www.nforce.nl/site/index.php?link=nfo_pic.php&id=24937

og her
http://www.vcdquality.com/nfo.php?id=10230

det ser godt nok ud til at være lavet i cgi men en ven har kigget lidt på det og har fået gd til at tage den første linje ind i et billede .. men så heller ikke mere.

det vigtige ved nfo's er at de bliver vist i en terminal font og det ser lidt bedre ud som billede.

har i nogen ideer .. eller nogen som kan lave det for mig.
Avatar billede dmdisco Nybegynder
17. februar 2003 - 10:15 #1
du kan jo kigge lidt på denne

<?
/*
To draw the PNG - call this script with a URL like the following:

http://www.yoursite.com/text_png.php?msg=testing+class&rot=15&size=48&font=fonts/ARIAL.TTF
*/

Header("Content-type: image/png");

class textPNG {
    var $font = 'fonts/lucon.TTF'; //default font. directory relative to script directory.
    var $msg = "sfg"; // default text to display.
    var $size = 12;
    var $rot = 0; // rotation in degrees.
    var $pad = 0; // padding.
    var $transparent = 1; // transparency set to on.
    var $red = 0; // white text...
    var $grn = 0;
    var $blu = 0;
    var $bg_red = 255; // on black background.
    var $bg_grn = 255;
    var $bg_blu = 255;

function draw() {
    $width = 0;
    $height = 0;
    $offset_x = 0;
    $offset_y = 0;
    $bounds = array();
    $image = "";
   
    // determine font height.
    $bounds = ImageTTFBBox($this->size, $this->rot, $this->font, "W");
    if ($this->rot < 0) {
        $font_height = abs($bounds[7]-$bounds[1]);       
    } else if ($this->rot > 0) {
        $font_height = abs($bounds[1]-$bounds[7]);
    } else {
        $font_height = abs($bounds[7]-$bounds[1]);
    }

    // determine bounding box.
    $bounds = ImageTTFBBox($this->size, $this->rot, $this->font, $this->msg);
    if ($this->rot < 0) {
        $width = abs($bounds[4]-$bounds[0]);
        $height = abs($bounds[3]-$bounds[7]);
        $offset_y = $font_height;
        $offset_x = 0;
       
    } else if ($this->rot > 0) {
        $width = abs($bounds[2]-$bounds[6]);
        $height = abs($bounds[1]-$bounds[5]);
        $offset_y = abs($bounds[7]-$bounds[5])+$font_height;
        $offset_x = abs($bounds[0]-$bounds[6]);
       
    } else {
        $width = abs($bounds[4]-$bounds[6]);
        $height = abs($bounds[7]-$bounds[1]);
        $offset_y = $font_height;;
        $offset_x = 0;
    }
   
    $image = imagecreate($width+($this->pad*2)+1,$height+($this->pad*2)+1);
   
    $background = ImageColorAllocate($image, $this->bg_red, $this->bg_grn, $this->bg_blu);
    $foreground = ImageColorAllocate($image, $this->red, $this->grn, $this->blu);
   
    if ($this->transparent) ImageColorTransparent($image, $background);
    ImageInterlace($image, false);
   
    // render it.
    ImageTTFText($image, $this->size, $this->rot, $offset_x+$this->pad, $offset_y+$this->pad, $foreground, $this->font, $this->msg);
   
    // output PNG object.
    imagePNG($image);
}
}

$text = new textPNG;

if (isset($msg)) $text->msg = $msg; // text to display
if (isset($font)) $text->font = $font; // font to use (include directory if needed).
if (isset($size)) $text->size = $size; // size in points
if (isset($rot)) $text->rot = $rot; // rotation
if (isset($pad)) $text->pad = $pad; // padding in pixels around text.
if (isset($red)) $text->red = $red; // text color
if (isset($grn)) $text->grn = $grn; // ..
if (isset($blu)) $text->blu = $blu; // ..
if (isset($bg_red)) $text->bg_red = $bg_red; // background color.
if (isset($bg_grn)) $text->bg_grn = $bg_grn; // ..
if (isset($bg_blu)) $text->bg_blu = $bg_blu; // ..
if (isset($tr)) $text->transparent = $tr; // transparency flag (boolean).

$text->draw();
?>
Avatar billede dmdisco Nybegynder
17. februar 2003 - 10:16 #2
jeg kan godt få det til at virke hvis .nfo filens indhold står inde i scriptet, men ikke hvis man bruger en fopen, fread.
Avatar billede simonvalter Praktikant
17. februar 2003 - 12:24 #3
ok :/ .. så er vi ikke kommet meget videre

jeg vil lade spm stå åbent lidt endnu hvis der er nogen der har et foreslag
Avatar billede dmdisco Nybegynder
17. februar 2003 - 14:45 #4
nu kan jeg ikke engang få det til at virke mere med at læse fra en ekstern fil

men hvorfor vil du have det som et billed, kan du ikke nøjes med det son tekst på siden
Avatar billede simonvalter Praktikant
17. februar 2003 - 14:48 #5
umm jeg tror ikke det vil give det samme resultat ..
Avatar billede simonvalter Praktikant
19. februar 2003 - 23:24 #6
ser ikke ud til at der kommer nogen svar :/

lukker
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