2016-06-10 94 views
0

是否有一些简单的方法可以将图像缩放到最大尺寸?使用Appcelerator Titanium的缩放图像

寻找一些简单的方法来保持文件的大小,例如缩放从应用上传到最大640宽度的图像。

我已经使用了几个解决方案,从模块Ti.ImageFactory到只是把它放入一个ImageView的大小,并再次得到blob(这应该使其缩放?)。 Ti.ImageFactory模块虽然看起来很老,几年前如果你看GIT,也会更新。此外,下载的zip文件似乎在git上丢失...

Ex。

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] 
     }); 
+0

你必须提供比这更多的信息。你已经尝试了什么?你卡在哪里?你的代码是什么? –

+0

我只是有一个图像blob,我想调整到最大尺寸。我还没有代码,我正在寻求最好的方法来做到这一点。使用模块? Ti.ImageFactory(在某些人建议的github上,似乎已经老了)。把它放在一个尺寸的imageView中,然后再次获取图像? – Emil

+1

在stackoverflow上,你需要提供你已经尝试过的以及你有什么代码。通常这些问题可以很容易地搜索或询问到[社区](http://tislack.org) –

回答

0

你所寻找的是功能imageAsCroppedimageAsResized

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

+0

这些功能在哪里? – Emil

+0

@Emil你看过文档吗?只是搜索这些条款 –

+0

是的,发现那些现在在blob对象。现在问题仍然存在,最好的方法是使用模块ti.imagefactory还是钛中存在的blob方法? – Emil

0

您可以使用size属性。

尺寸:Dimensionreadonly

在系统单元中的视图的大小。

虽然属性返回一个Dimension字典,但只有宽度和高度属性是有效的。位置属性 - x和y - 始终是 .

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

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

Documentation Link

+0

不要认为这会起作用。有问题的图像不会显示在任何地方,只需从设备上的camery或照片库中获取,并且在上载之前需要缩放。 (编辑我的原始问题与更多信息)。 – Emil