2010-05-24 7 views

Répondre

1

En images Rebol sont aussi des séries, de sorte que vous pouvez utiliser la plupart de la série fonctionne pour changer/trouver des couleurs de RVB etc.

i: load %test.png 
type? i 
image! 
first i 
255.255.255.0 (the last value is alpha) 
change i 255.0.0.0 ;change the first rgba value to red 
view layout [image i] ;you can see the upper-left pixel is now red 

vous pouvez vider toutes les valeurs RGBA dans une image:

forall i [print first i] 

vous pouvez également modifier continue partie:

change/dup head i blue 100 ;change first 100 pixels to blue 

vous pouvez également travailler sur i/rgb et i/alpha, ce sont des valeurs binaires (octets) et vous pouvez utiliser la copie pour obtenir une partie d'une image:

j: copy/part at i 100x100 50x50 ;copy from 100x100 to 150x150 to a new image. 
+0

et voici l'exemple qui remplace tous les pixels blancs par du bleu. forall je [si blanc = premier je [change i blue]] – endo64

+0

C'est exactement ce que je voulais et plus ... merci beaucoup :) –

0

utiliser certains des traitement d'images capacités tel que documenté ici: http://www.rebol.com/docs/view-guide.html

programme de démonstration montrant certains d'entre eux en action ici: http://www.rebol.com/view/demos/gel.r

+0

Salut Sunanda J'ai regardé le code de gel, mais je ne peux pas voir comment il montre quoi que ce soit lié à ce que je voudrais faire? Il s'agit d'effets spéciaux, je ne veux pas en faire, il suffit de remplacer une couleur. –

+0

Je ne veux pas appliquer de filtre de couleur à une image, je veux changer la couleur des pixels pixel par pixel en testant un pixel de couleur si c'est le rouge, je veux le mettre en bleu. –

Questions connexes