imagesize — Return the width and height of a previously opened or created image.
Plugin opcode in image. This opcode is part of the plugin repository and has to be installed separately. The plugin repository can be found here: https://github.com/csound/plugins
Return the width and height of a previously opened or created image. An image can be loaded with imageload. An empty image can be created with imagecreate.
iimagenum -- the reference of the image.. It should be a value returned by imageload or imagecreate.
iwidth -- image width.
iheight -- image height.
Here is an example of the imagesize opcode. It uses the file imageopcodes.csd and imageOpcode01.png.
Example 469. Example of the imagesize opcode.
<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>
Its output should include a line like this:
width = 512 pixels, heigth = 512 pixels