2016-06-10 52 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