Avatar billede NielsErikP Mester
19. juli 2011 - 23:45 Der er 12 kommentarer og
1 løsning

echo RGB under images..???

Hej...
Et lille spørgsmål, hvorfor virker følgende "echo" sætning ikke, har prøvet at flytte den rundt i scriptet, sættes den før Imagepng($im) vises images'ed slet ikke..

Her er script  :



<?php
header("Content-type: image/png");
$width = 115;
$height = 40;
$im = imagecreatetruecolor($width, $height);

$R = mt_rand(0,255);
$G = mt_rand(0,255);
$B = mt_rand(0,255);
$FarveValg = imagecolorallocate($im, $R, $G , $B);

ImageFillToBorder($im, 0, 0, $FarveValg, $FarveValg);



imagepng($im);
echo "R: " .$R ." G: " .$G ." B: " .$B;
imagedestroy($im);   
?>



Håber der er en der kan hjælpe.

på forhånd tak..!!
Avatar billede heinzdmx Nybegynder
19. juli 2011 - 23:54 #1
Du fortæller browseren at der kommer et billeder (du sætter contenttype) og så returnere du også noget tekst - det kan den må du  ikke håndtere.

Hvis du vil have det vist i stedet lave 2 kald, hvor den ene viser billeder som et <img>-tag
Avatar billede olsensweb.dk Ekspert
20. juli 2011 - 00:01 #2
får du nogle fejl melding ??
du skriver vel ikke noget til skærmen før din header vel ??

hvis hele din fil ser sådan ud du har vist burde det virke, forudsat din fil ikke indeholder en BOM karakter
Avatar billede olsensweb.dk Ekspert
20. juli 2011 - 00:11 #3
glem ovenstående, er vist træt, der visses jo et billed.  bare ikke farveteksten, da den ikke er en del af billedet, og du jo netop i din header sagt kun billed
Avatar billede NielsErikP Mester
20. juli 2011 - 00:14 #4
Hej...
#1:
Nej den skal ikke vises med <img> tag så skal billedet jo gemmes først.

#2:
Nej jeg får ingen fejl melding, den viser bare kun images'ed, men placerer jeg den før imagepng($im), vises der det velkendte røde kryds på skærmen.
????... Og med BOM karakter mener du ?????
Avatar billede NielsErikP Mester
20. juli 2011 - 00:16 #5
Hej..

#3: fik lige sendt inden du fik sendt denne..  Okay hvad gør jeg i headeren, vil gerne have RGB værdierne til at stå under images'et.
Avatar billede heinzdmx Nybegynder
20. juli 2011 - 00:19 #6
Du kan sagtens gøre følgende:


ColorCreator.php


<?php
header("Content-type: image/png");
$width = 115;
$height = 40;
$im = imagecreatetruecolor($width, $height);

$R = mt_rand(0,255);
$G = mt_rand(0,255);
$B = mt_rand(0,255);
$FarveValg = imagecolorallocate($im, $R, $G , $B);

ImageFillToBorder($im, 0, 0, $FarveValg, $FarveValg);
imagepng($im);
imagedestroy($im);   
?>


Colorshower.php

<?php

$R = mt_rand(0,255);
$G = mt_rand(0,255);
$B = mt_rand(0,255);

echo "<img src='ColorCreator.php?R=$R&G=$G&B=$B' />"

echo "R: " .$R ." G: " .$G ." B: " .$B;
?>
Avatar billede heinzdmx Nybegynder
20. juli 2011 - 00:20 #7
dooh

Ændre i ColorCreator.php

$R = mt_rand(0,255);
$G = mt_rand(0,255);
$B = mt_rand(0,255);
$FarveValg = imagecolorallocate($im, $R, $G , $B);


Til

$FarveValg = imagecolorallocate($im, $_GET['R'], $_GET['G'], $_GET['B']);
Avatar billede NielsErikP Mester
20. juli 2011 - 00:44 #8
Hej...
Så henter :

$FarveValg = imagecolorallocate($im, $_GET['R'], $_GET['G'], $_GET['B']);


RGB værdierne i colorshower.php sendt via

[div]
echo "<img src='ColorCreator.php?R=$R&G=$G&B=$B' />"
[div]

Er det rigtigt forstået..???

Og laver du så endnu en php fil der "Includ'er" både colorcreator.php og colorshower.php
Avatar billede heinzdmx Nybegynder
20. juli 2011 - 00:52 #9
Ja, det er på den måde du sender farverne videre.

Nej, det er kun Colorshower der skal inkludes, Colorcreater er kun billedet, mens colorshower er billedet OG tekst med RGB værdierne.
Avatar billede webweaver Praktikant
20. juli 2011 - 12:30 #10
#4 Ikke helt korrekt Niels Erik :-) Du kan sagtens benytte dig af et img tag uden at skulle gemme billedet først. Som heinzdmx også nævner det.

<img src="Minfil.php" alt="security">


Den linie indsættes simpelthen bare i dit HTML dokument helt normalt. Minfil.php kan ligge i hvilken som helst mappe og skal bare indholde PHP scriptet der genererer billedet. Så vil dette billede blive vist i dit img tag.

Det er sådan jeg selv bruger det, så jeg kun har scriptet een gang, men hvor det kan bruges flere steder samtidigt, hvis du skulle have flere forms fx (gæstebog, mailform ...) blandt andet.
Avatar billede NielsErikP Mester
21. juli 2011 - 00:29 #11
Hej...
Vil lige prøve at lege med jeres forslag, så vender jeg tilbage.

#10:
Tak for oplysningen.. havde bare en fornemmelse af at img kun viste et image, hvilket for mig forstået, et der var der fysisk i forvejen, så blev jeg lidt klogere på html :-)
Avatar billede webweaver Praktikant
21. juli 2011 - 00:46 #12
Well, det gør HTML'en vel sådan set også kan man sige. Minfil.php er jo sådan set et billede, når koden er udført, så derfor lidt firkantet kan man sige, at det er det samme som at sætte mitbillede.jpg ind. Men ja, det er lidt anderledes end hvordan ens tankegang normalt lige ville anse et img tag :)
Avatar billede NielsErikP Mester
22. juli 2011 - 00:34 #13
Hej...
heinzdmx..... Det virker tusind tak til dig, jeg krydser bare dit første svar af, så er pointene dine.

Og selvfølgelig også tak til webweaver :-) :-)
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