Avatar billede NielsErikP Mester
27. juli 2011 - 01:25 Der er 13 kommentarer og
1 løsning

RGB overtælling..???

Hej...
Tror dette er et simpelt spørgsmål.
Men farverne RGB har værdierne fra 0-255.
Jeg vil gerne vide om f.eks variablen ($R++) går i nul, når de 255 nåes...???

På forhånd tak..!!
Avatar billede olebole Juniormester
27. juli 2011 - 04:04 #1
<ole>

Kun, hvis $setToZeroIfVarRExceeds255 er sat til true  *o)

/mvh
</bole>
Avatar billede olebole Juniormester
27. juli 2011 - 04:05 #2
[hint] Vi kan ikke læse dine tanker - kun, hvad du skriver  =)
Avatar billede NielsErikP Mester
27. juli 2011 - 22:29 #3
Hej...
For satan ...Er det en gåde...??  FISK....Kan jeg ikke løse
;-) ;-).
Nej.. uden pjat... jeg er rimelig ny indenfor php programmering og kan heller ikke alt Html/Css.
Såååå måske du lige vil sætte mig ind i, hvor og hvordan jeg kommer til at tjekke eller sætte denne...
$setToZeroIfVarRExceeds255 til true????
Avatar billede olebole Juniormester
27. juli 2011 - 22:39 #4
$setToZeroIfVarRExceeds255 var en joke. Der er ingen, der kan vide, hvad du mener med spørgsmålet. Hvad er $R - og ikke mindst, hvordan bruger du den?

Når du skriver $R++, kunne det tyde på, du bruger variablen som en tæller i en løkke - men det er ikke til at vide, hvordan.

Prøv at vise noget kode  *o)
Avatar billede NielsErikP Mester
27. juli 2011 - 22:50 #5
Hej...
Nåååeh..Det var en joke.. jamen set ud fra dit engelske i
$setToZeroIfVarRExceeds255... Har du jo forstået hvad jeg spørger om.
Simpelthen om, ja en variable der tælles fra 0 og til 255 om den når den når 256 skifter automatisk til nul.
Avatar billede olebole Juniormester
27. juli 2011 - 23:25 #6
Ikke, hvis ikke koden gør det - men det kan jeg jo ikke vide/se, om den gør
Avatar billede NielsErikP Mester
27. juli 2011 - 23:45 #7
Hej...
Jamen jeg har ikke lavet noget kode omkring $R, $G, $B endnu...

Men hvis du kan se ideen til, hvad jeg skal bruge det til smider jeg lige lidt kode  :



$R = 0;
$G = 0;
$B = 0;

$AntalPixel = $width;

for ($Pixel = 0; $Pixel<=$AntalPixel; $Pixel++) {

    for ($x= 0; $x <= 115; $x++) {
        for($y= 0; $y<= 40; $y++) {
            $PixelFarve = imagecolorallocate($im, $R, $G, $B);
            imagesetpixel($im, $x, $y, $PixelFarve);
        }
    }
}   




Meningen er så at jeg vil gennemløbe RGB værdierne i $PixelFarve.
Og der kommer så spørgsmålet om 255 bliver til 0 ved næste optælling eller skal man sige "if ($R = 255) { $R =0}.
Avatar billede olebole Juniormester
28. juli 2011 - 00:40 #8
PHP har ingen anelse om, at du bruger variablen til at repræsentere en farveværdi - og at denne kun har 256 steps. Derfor vil variablen blive ved med at blive talt op, med mindre du selv nulstiller den.

Du skal bare huske dobbelt lighedstegn ved sammenligning:

    if ($R==255) $R = 0;
Avatar billede NielsErikP Mester
28. juli 2011 - 00:54 #9
Hej..

Jamen så er der jo ingen vej uden om :-)

Så læg venligst et svar (hvor mange år skal man bruge på at få 213.023)???
Avatar billede olebole Juniormester
28. juli 2011 - 01:08 #10
Ellers tak. Jeg samler ikke længere points. Læg selv et svar og accepter det, så tråden lukkes - og du kan bruge pointene til noget andet  =)

Jeg oprettede mig i 1999, men har de senere år været væk i længere perioder og har ikke taget mod points længe. Det er ikke desto mindre blevet til en del besvarede spørgsmål  =)
Avatar billede olebole Juniormester
28. juli 2011 - 01:21 #11
Det er dog for intet at regne i sammenligning med Arne:
    http://www.eksperten.dk/profil/arne_v

Udover at være enormt aktiv er han uden tvivl brugeren med den dybeste viden på de fleste områder indenfor Ekspertens programmerings kategorier. Han er både teoretisk og praktisk meget bredt og virkelig grundigt funderet.

Glemte jeg at nævne, at han - udover at kommentere og besvare et utal af tråde i et utal af kategorier - også skriver et utal af grundige og seriøse guides. Han er en overordentlig gavmild person, når det kommer til vidensdeling!
Avatar billede NielsErikP Mester
28. juli 2011 - 01:33 #12
Hej...

Jamen så bukker jeg og siger tak for hjælpen.
Nej.. Er stødt på arne et par gange..og det må siges at de 900 og et eller andet han holder sig... Er en del :-)
Avatar billede coderdk Praktikant
28. juli 2011 - 11:18 #13
I stedet for $R++ kunne man skrive:

$R = ++$R % 256;

Den vil bare blive ved at tælle fra 0-255
Avatar billede olebole Juniormester
28. juli 2011 - 17:03 #14
coderdk >> Det kan man godt, men det vil man nok ikke. Det er vildt overkill/ressourcespild at skulle beregne modulus i hvert gennemkøb af løkken
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