imagesize

imagesize — Retourne la largeur et la hauteur d'une image précédemment ouverte ou créée.

Description

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

Retourne la largeur et la hauteur d'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.

Syntaxe

iwidth, iheight imagesize iimagenum

Initialisation

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

iwidth -- largeur de l'image.

iheight -- hauteur de l'image.

Exemples

Voici un exemple de l'opcode imagesize. Il utilise les fichiers imageopcodes.csd et imageOpcode01.png.

Exemple 465. Exemple de l'opcode imagesize.

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


Sa sortie contiendra une ligne comme celle-ci :

width = 512 pixels, heigth = 512 pixels

Voir aussi

imageload, imagecreate, imagesave, imagegetpixel, imagesetpixel, imagefree

Crédits

Auteur : Cesare Marilungo

Nouveau dans la version 5.08