imagesetpixel — Fixe la valeur RVB d'un pixel dans une image précédemment ouverte ou créée.
Fixe la valeur RVB d'un pixel dans une image précédemment ouverte ou créée. On peut charger une image avec imageload. On peut créer un image vide avec imagecreate et la sauver avec imagesave.
imagegetpixel iimagenum, ax, ay, ared, agreen, ablue
imagegetpixel iimagenum, kx, ky, kred, kgreen, kblue
iimagenum -- la référence de l'image. C'est une valeur retournée par imageload ou par imagecreate.
ax (kx) -- position horizontale du pixel (un nombre flottant compris entre 0 et 1).
ay (ky) -- position verticale du pixel (un nombre flottant compris entre 0 et 1).
ared (kred) -- valeur de rouge du pixel (ramenée à un nombre flottant compris entre 0 et 1).
agreen (kgreen) -- valeur de vert du pixel (ramenée à un nombre flottant compris entre 0 et 1)
ablue (kblue) -- valeur de bleue du pixel (ramenée à un nombre flottant compris entre 0 et 1).
Voici un exemple de l'opcode imagesetpixel. Il utilise le fichier imageopcodes.csd.
Exemple 317. Exemple de l'opcode imagesetpixel.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in ;-odac -iadc ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: -o imageopcodes.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr=48000 ksmps=1 nchnls=2 ; this test .csd copies image.png into a new file 'imageout.png' giimage1 imageload "image.png" giimagew, giimageh imagesize giimage1 giimage2 imagecreate giimagew,giimageh instr 1 kndx = 0 kx_ linseg 0, p3, 1 myloop: ky_ = kndx/(giimageh) kr_ kg_ kb_ imagegetpixel giimage1, kx_, ky_ imagesetpixel giimage2, kx_, ky_, kr_, kg_, kb_ loop_lt kndx, 0.5, (giimageh), myloop endin instr 2 imagesave giimage2, "imageout.png" endin instr 3 imagefree giimage1 imagefree giimage2 endin </CsInstruments> <CsScore> i1 1 1 i2 2 1 i3 3 1 e </CsScore> </CsoundSynthesizer>