imagesetpixel — Fixe la valeur RVB d'un pixel dans une image précédemment ouverte ou créée.
Opcode du greffon image.
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.
imagesetpixel iimagenum, ax, ay, ared, agreen, ablue
imagesetpixel 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 437. Exemple de l'opcode imagesetpixel.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -n ;no sound output </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 ;print imagewidth and imageheigth of image.png prints "imagewidth = %f pixels, imageheigth = %f pixels\\n", giimagew, giimageh 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>