imageload — Charge une image.
Opcode du greffon image. Ce greffon se trouve dans le répertoire des greffons et il doit être installé séparément. Le répertoire des greffons est ici : https://github.com/csound/plugins
Charge une image et retourne une référence sur celle-ci. On peut ensuite accéder aux valeurs d'un pixel avec imagegetpixel.
Note | |
---|---|
Les opcodes de traitement d'image ne peuvent charger que des images png. |
iimagenum -- numéro assigné à l'image chargée.
filename -- le nom de fichier de l'image à charger (ce doit être un fichier d'image PNG valide).
Voici un exemple de l'opcode imageload. Il utilise les fichiers imageopcodes.csd et imageOpcode01.png.
Exemple 462. Exemple de l'opcode imageload.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -n ;no sound output </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 0dbfs = 1 nchnls = 2 ; by Cesare Marilungo 2008 ; additions by Menno Knevel 2021 ; image opcodes need a black canvas- black = no sound! giimage1 imageload "imageOpcode01.png" ; load this image giimagew, giimageh imagesize giimage1 ; get dimensions of imageOpcode01.png giimageNEW imagecreate giimagew,giimageh ; and use those same dimensions for the new image instr 1 ; copies imageOpcode01.png and changes it kndx = 0 kx linseg 0, p3, 1 prints "\nwidth = %d pixels, heigth = %d pixels\n\n", giimagew, giimageh myloop: ky = kndx/(giimageh) ; y-axis krd, kgn, kbl imagegetpixel giimage1, kx, ky ; get pixels from 'old' image imagesetpixel giimageNEW, kx*.9, ky*.5, krd, kgn, kbl; redesign the image loop_lt kndx, 0.5, giimageh, myloop endin instr 2 imagesave giimageNEW, "imageOUT.png" ; save this new image endin instr 3 imagefree giimage1 ; unload images imagefree giimageNEW endin </CsInstruments> <CsScore> i1 1 1 i2 2 1 i3 3 .1 e </CsScore> </CsoundSynthesizer>
Voici l'image imageOpcode03.png pour l'exemple imagegetpixel-musical :