Index: ssts-web/src/main/webapp/disinfectsystem/packing/tousesPackingTeachingImage.js =================================================================== diff -u -r12332 -r15373 --- ssts-web/src/main/webapp/disinfectsystem/packing/tousesPackingTeachingImage.js (.../tousesPackingTeachingImage.js) (revision 12332) +++ ssts-web/src/main/webapp/disinfectsystem/packing/tousesPackingTeachingImage.js (.../tousesPackingTeachingImage.js) (revision 15373) @@ -1,10 +1,67 @@ function loadToussePackingTeachingImage(tousseName,td_id,currentPage){ - var url = WWWROOT + '/disinfectSystem/packingAction!getImage.do?id=' + td_id + '&page=' + currentPage +'&imageType='+imageType_packingTeaching +'&time='+new Date(); - var image = top.Ext4.getCmp('pt_browseImage'); + var url = WWWROOT + '/disinfectSystem/packingAction!getImage.do?id=' + td_id + '&page=' + currentPage +'&imageType='+imageType_packingTeaching ; +// var image = top.Ext4.getCmp('pt_browseImage'); // image.setSrc(''); - image.setSrc(url);// 覆盖原来的图片 +// image.setSrc(url);// 覆盖原来的图片 top.Ext4.getCmp('pt_imageName').setText(tousseName); top.Ext4.getCmp('pt_currentPage').setValue(currentPage); + + var panel = top.Ext4.getCmp('pt_imageContentPanel'); + var image = top.Ext4.getCmp('pt_browseImage'); + panel.remove(image); + + var newImage = top.Ext4.create('Ext4.Img', { + id : 'pt_browseImage', + fieldLabel : "预览图片", +// title:'双击预览图片', + listeners: { + render: function() { + var imgCmp = this; + var imgEl = this.getEl(); + imgEl.on('load',function(){ + var img = this; + var panel = top.Ext4.getCmp('pt_imageContentPanel'); + var panelSize = panel.getSize(true); + + var boundaryWidth = panelSize.width; + var boundaryHeight = panelSize.height; + var originalWidth = img.getWidth(); + var originalHeight = img.getHeight(); + var scaledWidth = originalWidth; + var scaledHeight = originalHeight; + var x=0,y=0; + // 计算出合适的大小 + var desScaleYX = boundaryHeight*1.0/boundaryWidth; // 屏幕的高宽比 + var srcScaleYX = originalHeight*1.0/originalWidth; // 图像的高宽比 + if(originalWidth > boundaryWidth || originalHeight > boundaryHeight) + { + // 任何一边大于屏幕时,等比例缩放 + if(srcScaleYX>desScaleYX) + { + scaledHeight = boundaryHeight; + scaledWidth = parseInt(boundaryHeight*1.0/originalHeight*originalWidth);// 保证为2的倍数 + }else + { + scaledWidth = boundaryWidth; + scaledHeight = parseInt(boundaryWidth*1.0/originalWidth*originalHeight); + } + x = (boundaryWidth - scaledWidth)/2; + y = (boundaryHeight - scaledHeight)/2; + }else{ + x = (boundaryWidth - scaledWidth)/2; + y = (boundaryHeight - scaledHeight)/2; + } + imgCmp.setSize(scaledWidth,scaledHeight); + imgCmp.setPosition(x,y); +// Ext.Msg.alert('x='+x+',y='+y+',w='+scaledWidth+',h='+scaledHeight+',bw='+boundaryWidth+',bh='+boundaryHeight); + + }); + } + }, + src : url + }); + + panel.add(newImage); } function showToussePackingTeachingImage(tousseName,td_id){ @@ -29,10 +86,16 @@ border : true, layout:'fit', items : [{ - xtype : 'image', - id : 'pt_browseImage', - fieldLabel : "预览图片", - src : Ext4.BLANK_IMAGE_URL + xtype : 'panel', + layout:'absolute', + id: 'pt_imageContentPanel', + items: [{ + xtype : 'image', + id : 'pt_browseImage', + fieldLabel : "预览图片", +// title:'双击预览图片', + src : Ext4.BLANK_IMAGE_URL + }] }], bbar: [ { id:'pt_imageName'},