Extjs 2.0 图片预览求助

 最近工作中涉及到了图片的预览效果,但是没有达到老总的要求。在页面中要求有一个浏览图片的组件,一个预览图片的区域以及调用扫描仪,上传图片的按钮。

我做的源代码是:

uploadImage = function(keyName, keyValue, tableName, blobName) {
 var electron_form = new Ext.form.FormPanel({
  url : "employeeManage.jhtml?method=saveElec",
  width : 550,
  height : 700,
  labelWidth : 80,
  labelAlign : "left",
  frame : true,
  fileUpload : true,
  defaults : {
   xtype : "field",
   width : 450
  },
  items : [{
     xtype : "hidden",
     name : "uid",
     value : id
    }, {
     id : 'imageUpload',
     name : 'imageUpload',
     fieldLabel : "选择扫描文件",
     inputType : "file"
    }, {
     id : 'browseImage',
     fieldLabel : "预览扫描件",
     autoCreate : {
      width : 450,
      height : 600,
      tag : 'input',
      type : 'image',
      src : Ext.BLANK_IMAGE_URL,
      style : 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);',
      name : 'imageBrowse'
     }
    }],
  buttons : [{
   text : '扫描仪',
   handler : function() {
    try{
     b = new ActiveXObject("wscript.shell");
     b.run("ScanDrv.exe");
    }catch(Exception){
     Ext.Msg.alert("信息提示:","请您先安装扫描仪!");
    }
    }

  }, {
   text : "上传",
   handler : function() {
    var imagePath = Ext.getCmp("imageUpload").getValue();
    if (imagePath == '') {
     Ext.Msg.alert("信息提示", "您还没有选择图片!");
    } else {
     Ext.MessageBox.show({
        msg : '正在上传,请稍等...',
        progressText : 'Saving...',
        width : 300,
        wait : true,
        waitConfig : {
         interval : 200
        },
        icon : 'download',
        animEl : 'saving'
       });
     electron_form.form.submit({
        url : "Action/UploadImageServlet",
        method : "POST",
        params : {
         keyName : keyName,
         keyValue : keyValue,
         tableName : tableName,
         blobName : blobName
        },
        success : function(form, action) {
         var temp = action.result.success;
         if (temp == "true") {
          Ext.MessageBox.alert("信息提示", "上传成功!");
         } else {
          Ext.MessageBox.alert("信息提示!", "上传失败!");
         }
        },
        failure : function(form, action) {
         Ext.MessageBox.alert("信息提示!", "保存失败!");
        }
       });
    }
   }
  }, {
   text : "取消",
   handler : function() {
    electron_win.close();
   }
  }]
 })
 // 在指定区域显示选中的图片文件
 electron_form.on('render', function(f) {
  electron_form.form.findField('imageUpload').on('render', function() {
   Ext.get('imageUpload').on('change',
     function(field, newValue, oldValue) {
      var url = 'file:///' + Ext.get('imageUpload').dom.value;// 获取当前选择的图片的路径

      if (Ext.isIE7) {
       var image = Ext.get('imageBrowse').dom;
       image.src = Ext.BLANK_IMAGE_URL;// 覆盖原来的图片
       image.filters
         .item("DXImageTransform.Microsoft.AlphaImageLoader").src = url;
      } else {
       Ext.get('imageBrowse').dom.src = url;
      }
     }, this);
  }, this);
 }, this);
 var electron_win = new Ext.Window({
    id : "electron_add_win",
      layout : 'fit',
    width : 605,
    height : 700,
    labelWidth : 80,
    labelAlign : 'right',
    buttonAlign : 'center',
    modal : true,
    resizable : false,
    frame : true,
    animal : true,
    items : [electron_form]
   })
 electron_win.show();

}

 

在这个窗口中,浏览图片的路径填入之后,在下面的预览框中会按比例显示选择的路径下的图片。但是如果是A4的纸扫描上去的图片就有点看不清楚了,我想,能不能在图片很大,超出了给定的预览框范围的时候,出现滚动条来按图片原来大小预览该图片。请各位高手指教。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值