phonegap 图像调整器插件来保存图像

Posted

技术标签:

【中文标题】phonegap 图像调整器插件来保存图像【英文标题】:phonegap image resizer plugin to save image 【发布时间】:2013-02-21 05:51:03 【问题描述】:

我在这里找到了一个 phonegap image-resizer 插件https://github.com/raananw/PhoneGap-Image-Resizer

我尝试在相机成功时将其添加到我的 phonegap 索引以尝试保存图像。

function onSuccess(imageURI) 

    window.imageResizer.storeImage(
        function(data)  
            var image = document.getElementById('smallImage');
            image.src = imageURI; 
            alert('got img')
        , function (error) 
            alert("Error : \r\n" + error);
            //console.log("Error : \r\n" + error);
        , imageURI, filename :"test",imageDataType:ImageResizer.IMAGE_DATA_TYPE_URL ,format:'jpg',directory:"/DCIM/Camera"
    );

已解决:logcat 出现错误 IMAGE_DATA_TYPE_URL is not defined

已解决:我收到一条错误消息,提示 null,名为 test.jpg 的黑色图像已放入相机文件夹中,但未显示在图库中(通过编辑 imageData ImageResizer.IMAGE_DATA_TYPE_URL 解决了这个问题,ImageResizer.IMAGE_DATA_TYPE_URL 无法正常工作仍然设为 base64 默认值在 java 文件中,只需将其永久编辑为 url 类型 XD 另一个是 uri 有错误,并将 file:/// 去掉,图像被保存,没有更多问题)

已解决:保存在与画廊相同的文件夹中,但除非您在文件管理器中重命名它(使用代码片段),否则看不到它

    private void scanPhoto(String imageFileName)

  Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
  File f = new File(imageFileName);
  Uri contentUri = Uri.fromFile(f);
  mediaScanIntent.setData(contentUri);
  this.cordova.getActivity().sendBroadcast(mediaScanIntent); 

问题:将其保存在与相机相同的目录中,但是在查看图库时,它显示在一个名为缓存的组中,我怎样才能使其成为图库中的应用程序名称而不是缓存

【问题讨论】:

【参考方案1】:

我认为您无需寻找其他图像插件来调整大小。 phonegap 中的option camera.getPicture 会为您执行此操作。改变 quality,targetWidth,targetHeight 做你想做的事。

【讨论】:

好吧,我正在尝试调整大小并保存文件,因为图像调整器也有保存功能 @jhdj 如果我们要裁剪图像怎么办? @MuhammadRiyaz 你可以使用画布

以上是关于phonegap 图像调整器插件来保存图像的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap、AngularJs 和联系人插件:如何渲染联系人图像

在phonegap中为ios压缩图像插件

使用 PhoneGap 从 img 标签本地保存图像

使用 Cordova/Phonegap 保存从手机摄像头拍摄的图像 Windows Phone 7

将图像保存在本地存储phonegap中

Phonegap(cordova)将图像保存到自定义相册