PhoneGap中文网

标题: 使用插件拍照渲染图片出问题 [打印本页]

作者: w1017894741    时间: 2016-1-15 11:44
标题: 使用插件拍照渲染图片出问题
本帖最后由 w1017894741 于 2016-1-15 11:57 编辑

使用navigator.camera.getPicture()方法,在成功回调函数中对img渲染图片,只显示了一个表示"没有图片"的小图标,附图:


获取的imgData数据:


代码:
   
  1. //拍照
  2.      function takePhotos() {
  3.              var pictureSource;//图片来源
  4.              var destinationType;//设置返回值的格式
  5.              var self = this;
  6.              //等待PhoneGap连接设备
  7.              document.addEventListener("deviceready", onDeviceReady, false);
  8.              //PhoneGap准备就绪,可以使用!
  9.              function onDeviceReady() {
  10.                       pictureSource = navigator.camera.PictureSourceType;
  11.                       destinationType = navigator.camera.DestinationType;

  12.                       // 设定图片来源。通过nagivator.camera.PictureSourceType进行定义。(数字类型)
  13.                       var source = pictureSource.CAMERA;
  14.                       var destination = destinationType.DATA_URL;

  15.                      //使用设备上的摄像头拍照,并获得Base64编码字符串格式的图像
  16.                      navigator.camera.getPicture(onPhotoDataSuccess, onFail, {quality : 50});

  17.                      function onPhotoDataSuccess(imageData) {
  18.                              var uri ="data:image/jpeg;base64," + imageData;
  19.                              $(self.getElementByXid("showImage")).attr("src",uri);//渲染图片
  20.                      }
  21.             
  22.                      // 当有错误发生时触发此函数
  23.                      function onFail(mesage) {
  24.                               alert('Failed because: ' + message);
  25.                      }
  26.         }
复制代码



作者: ionicwang    时间: 2016-1-15 12:57
base64的话用的是这个
   var uri ="data:image/jpeg;base64," + imageData;
$(self.getElementByXid("showImage")).attr("src",uri);//渲染图片

但是你拍照的时候的参数不是base64方式

所以直接

$(self.getElementByXid("showImage")).attr("src",imageData);//渲染图片





欢迎光临 PhoneGap中文网 (http://bbs.phonegap100.com/) Powered by Discuz! X3.2