簡體   English   中英

無法讀取Appcelerator Titanium中的圖像文件

[英]Cannot read image file in appcelerator titanium

我在項目文件夾中的/ assets中存儲了一個圖像,並且嘗試使用Ti.Filesystem.getFile()讀取它。 該代碼在android中打印blob數據,但在iOS中打印未定義的數據。 在按鈕單擊事件https://pastebin.com/QgqLQPyz上調用以下功能

function readImg(e) {
var localPath = '/butterfly.jpg';
var cachedFilename = Ti.Utils.sha1(localPath) + localPath.substr(localPath.lastIndexOf('.'));
console.log("cachedFilename:---"+cachedFilename);
var cachedFile = Ti.Filesystem.getFile(Ti.Filesystem.applicationCacheDirectory, cachedFilename);

if(!cachedFile.exists()){
    var blob = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory, localPath).read();
    console.log("-----------blob in not exists:"+JSON.stringify(blob));
}

}

當在ImageView中設置相同的圖像路徑時,它將顯示出來,因此問題不在於path。 我在這里想念什么? 請幫助。 謝謝。

最好的選擇是使用一個模塊av.imageview ,這樣您根本不必執行特定於圖像的任何操作(請記住,在運行時圖像處理非常繁重)。 這使您可以配置各種內容模式。

使代碼正常工作的一種選擇是使用getAsset方法獲取blob。

var blob = Ti.Filesystem.getAsset('/images/butterfly.jpg');

然后調整您認為合適的尺寸。 但是我建議您,如果您確實需要在每次運行該應用程序時執行此操作,則只需調整一次大小並存儲該大小調整后的圖像以供以后使用。 這樣,只有一次圖像需要調整大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM