可以提前获取宽高纵横比,然后图片宽高发生变化时,触发PictureChanged事件,此时获取propertyName属性,判断是否为'width'或'height' 。如果是的话,为其按比例重设宽高
- sheet.suspendPaint();
- var picWidth = 180, picHeight = 200;
- var ratio = picWidth /picHeight;
- sheet.pictures.add("f2", "https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/spread/source/images/splogo.png", 62, 140, picWidth, picHeight);
- sheet.resumePaint();
- sheet.bind(GC.Spread.Sheets.Events.PictureChanged , function (event, args) {
- let pictureObject = args.picture,propertyName = args.propertyName;
- if(propertyName=='width' || propertyName=='height') {
- let width = pictureObject.width(), height = pictureObject.height()
- if (width / height != ratio) {
- pictureObject.height(width*ratio)
- }
- }
- });
复制代码 |