繁体   English   中英

使用Appcelerator Titanium缩放图像

[英]Scale image using Appcelerator Titanium

有什么简单的方法可以将图像缩放到最大尺寸?

寻找一些简单的方法来减小文件大小,并将从应用程序上传的图像缩放到最大640宽度。

我已经用Google搜索了几种解决方案,从模块Ti.ImageFactory到将其放入具有一定大小的ImageView中,然后再次获取Blob(这应该使它缩放)。 Ti.ImageFactory模块似乎很旧,几年前如果您查看GIT,则对其进行了更新。 此外,git上似乎缺少要下载的zip文件。

例如

Titanium.Media.openPhotoGallery({
            success:function(event)
            {
               Ti.API.info('Our type was: '+event.mediaType);

               if(event.mediaType == Ti.Media.MEDIA_TYPE_PHOTO)
               {

                   // HERE event.media needs to be scaled to a max
                   // size... for example 2 MB data, or max 960 px 
                   // width/height or something similar 

                   uploadPhoto(event.media);

               }
            },
            cancel:function()
            {
                Ti.API.info("Photo gallery cancel...");
            },
            error:function(err)
            {
                //Ti.API.error(err);
                Ti.API.info("Err: "+err);
                alert(L("AN_ERROR_OCCURRED"));
            },
            mediaTypes:[Ti.Media.MEDIA_TYPE_PHOTO]
        });

您要查找的是函数imageAsCroppedimageAsResize

让我知道您是否需要进一步的帮助。

您可以使用size属性。

尺寸:尺寸只读

视图的大小(以系统单位)。

尽管属性返回Dimension字典,但是只有width和height属性有效。 位置属性-x和y-始终为0。

要查找视图的位置和大小,请改用rect属性。

正确的值仅在布局完成后才可用。 要确定何时完成布局,请为postlayout事件添加一个侦听器。

文档链接

我最终使用了ti.imagefactory模块。 我在这里找到的android和ios的zip文件: https : //github.com/appcelerator-modules/ti.imagefactory/releases

可以在这里找到示例: https : //github.com/appcelerator-modules/ti.imagefactory/blob/stable/ios/example/app.js

我在我的应用程序中使用了示例中的代码,它看起来工作正常!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM