[PHP]transparentny gif

0
<?php
header("Content-type: image/gif");
$obrazek = ImageCreate(80,40);
$kolor_tekstu = ImageColorAllocate($obrazek,0,0,0);
$kolor_tla = ImageColorAllocate($obrazek,0,0,0);
$kolor_tla_przezroczysty = ImageColorTransparent($obrazek, $kolor_tla);
ImageString($obrazek,3,5,5,"tekst",$kolor_tekstu);
ImageGif($obrazek);
ImageDestroy($obrazek);
?>

czemu nie działa? [!!!]

przykład żywcem ściągnięty z artów 4programmers

http://dgn.hb.pl/a.php

0

kolor tła jest taki sam jak kolor tekstu. Stąd robi się cały przezroczysty.

0

cały przezroczysty? ja widze na stronie prostokącik czarny, a jak zrobic zeby tylko tlo było przezroczyste?

0
dragon1985 napisał(a)

czemu nie działa? [!!!]

przykład żywcem ściągnięty z artów 4programmers

http://dgn.hb.pl/a.php

Miałem to samo ze swoją stopką...

<?php
header("Content-type: image/gif");
$obrazek = ImageCreate(80,40);
//Mała zamiana miejscami i inny kolor
$kolor_tla = ImageColorAllocate($obrazek,1,1,1);
$kolor_tekstu = ImageColorAllocate($obrazek,0,0,0);
$kolor_tla_przezroczysty = ImageColorTransparent($obrazek, $kolor_tla);
ImageString($obrazek,3,5,5,"tekst",$kolor_tekstu);
ImageGif($obrazek);
ImageDestroy($obrazek);
?>
0

czyli biały jest na pewno przezroczysty i jak wczytam ten obrazek na jakieś tełko to bedzie si?

0

a co jeśli kolor 1,1,1 będzie potrzebny do wygenerowania obrazka?
Tutaj jako przeźroczystość zrobiłem kolor który nie występuje w obrazku:

<?
header("Content-type: image/gif");
$obrazek = ImageCreate(80,40);
//Mala zamiana miejscami i inny kolor

//a co jesli kolor tla istnieje?
function findcolor($obrazek){
$color= Array ('r' => 0, 'g' => 0, 'b' => 0);
for($red=0;$red==255;$red++){
$color[r]=$red;
for($green=0;$green==255;$green++){
$color[g]=$green;
for($blue=0;$blue==255;$blue++){
$color[b]=$blue;
if(imagecolorexact($obrazek, $color[r], $color[g], $color[b])==-1) {
$uniquecolor=$color;
return $uniquecolor;
};
};
};
};
};
$kolor_przezroczystosci=findcolor($obrazek);
$red=$kolor_przezroczystosci[r];
$green=$kolor_przezroczystosci[g];
$blue=$kolor_przezroczystosci[b];
$kolor_tla=ImageColorAllocate($obrazek,$red,$green,$blue);
$kolor_tekstu = ImageColorAllocate($obrazek,0,0,0);
$kolor_tla_przezroczysty = ImageColorTransparent($obrazek, $kolor_tla);
ImageString($obrazek,3,5,5,"tekst",$kolor_tekstu);
ImageGif($obrazek);
ImageDestroy($obrazek);
?>

Jeżeli ma błędy to mnie poprawcie :]

1 użytkowników online, w tym zalogowanych: 0, gości: 1