imagesetpixel

imagesetpixel — Fixe la valeur RVB d'un pixel dans une image précédemment ouverte ou créée.

Description

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.

Syntaxe

imagesetpixel iimagenum, ax, ay, ared, agreen, ablue
imagesetpixel iimagenum, kx, ky, kred, kgreen, kblue

Initialisation

iimagenum -- la référence de l'image. C'est une valeur retournée par imageload ou par imagecreate.

Exécution

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).

Exemples

Voici un exemple de l'opcode imagesetpixel. Il utilise le fichier imageopcodes.csd.

Exemple 376. 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>


Voir aussi

imageload, imagecreate, imagesize, imagesave, imagegetpixel, imagefree

Crédits

Auteur : Cesare Marilungo

Nouveau dans la version 5.08