[PHP] Gradient met Alpha

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • sVerkuil
  • Registratie: Juli 2010
  • Laatst online: 01-03-2023
Okey, ik heb alweer een vraagje.
Ik heb een plaatje. Daaroverheen wil ik een gradient naar een wit vlak (met ook een opacity). Dit lukt gewoon. het enige jammere is dat als de alpha 0 is, hij compleet niet transparant is, en bij 127 compleet transparant. Dit kan dan best logisch zijn, alleen ook best lastig.
Ik heb dus een for loop:
PHP: header.php
37
38
39
40
41
for ($i=0; $i<=120; $i++) {
    $alpha = 20-((($i)/120)*20)+20;
    $col[$i] = imagecolorallocatealpha($img2,255,255,255,$alpha);
    imageline($img2, 450-$i,0,450-$i,540,$col[$i]);
}

en daarin wordt de alpha beschreven ($i/120)*20
dit werkt dan wel goed, alleen de gradient is omgekeerd. Dat wilde ik niet? Ik ben zelf best behendig met wiskunde en dergelijke, alleen ik heb mij altijd al afgevraagd hoe ik zoiets omkeer, dus als x 0 is, dat y dan 1 is, en zodra x 1 is, y 0 is. (f(y) = -x+1) bijvoorbeeld Alleen hoe pas ik zoiets toe in die formule?

Ik heb het dan geprobeerd, $alpha = abs((-$i/120)+1)*20; maar dat wil ook niet echt werken.

Wat ik dus nodig heb is een grafiek die in een rechte lijn van 127 naar een waarde p gaat in z tijd
dus als x = 0, y = 127. als x = z/2 , y = (127-p)/2

Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • Sendy
  • Registratie: September 2001
  • Niet online
Als je twee punten op een lijn hebt, dan kan iemand die behendig is met wiskunde toch wel de formule van die lijn bepalen?

Acties:
  • 0 Henk 'm!

  • sVerkuil
  • Registratie: Juli 2010
  • Laatst online: 01-03-2023
Okay, ik was lui en had niet echt veel zin. Nu is het mij wel gelukt (niet aan gedacht om een grafiek te tekenen)

Maar de formule is nu dan als volgt:

f(x) = -zx + 127 - p;
z(x) = (127-p)/s

waar p de uiteindelijke waarde is, en z de waarde voor de stapgrootte en s de stapgrootte zelf.

Hiermee bleek het weer verkeerd te zijn, namelijk weer verkeerd om

Dus dat heb ik opgelost door: zx + p

[ Voor 15% gewijzigd door sVerkuil op 29-11-2010 09:11 . Reden: SOLVED ]