成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Windows 8.1 之文件

開發 前端
Windows 8.1 Preview 為應用內文件管理提供增強支持,應用可訪問的用戶庫選擇范圍更寬以及可以將應用的唯一內容推送至 Windows 索引。 這意味著你的應用可輕松訪問用戶內容并且使其自身內容輕松顯示給其他應用。

Windows 8.1 Preview 為應用內文件管理提供增強支持,應用可訪問的用戶庫選擇范圍更寬以及可以將應用的唯一內容推送至 Windows 索引。 這意味著你的應用可輕松訪問用戶內容并且使其自身內容輕松顯示給其他應用。

Windows 8.1 Preview 中的新特性或更新

  • 更新后的文件選取器支持新的應用顯示模式
  • 應用內的用戶庫管理
  • 檢索父文件或文件夾
  • 使用 IsEqual 來比較文件
  • 新增的 KnownFolders 屬性
  • 文件檢索時無錯誤處理要求
  • 在打開(方式)應用場景中允許查看文件
  • 將應用內容添加到 Windows 索引中
  • Microsoft SkyDrive
  • DDS 圖像文件支持

更新后的文件選取器支持新的應用顯示模式

在 Windows 8.1 Preview 中,以拆分屏幕和全屏顯示方式運行的應用可以調用文件選取器。這有助于用戶操作,并且可以根據他們的需要,執行多項任務。例如,假如用戶在一個窗口中打開 了 Skype 會話,而在另一窗口中打開了電子郵件應用,電子郵件應用可以為用戶打開文件選取器以便包含一個附件,而此時應用無需轉成全屏顯示。若要了解有關使用文件選 取器的詳細信息,請參閱快速入門:使用文件選取器訪問文件

應用內的用戶庫管理

Windows 8.1 Preview 引入了 StorageLibrary 類,該類允許用戶在應用內管理其個人庫(例如“音樂”和“視頻”)中的文件夾。這在媒體庫應用中特別有用,因為用戶通常需要添加含有大量圖像、音樂或視頻的文件夾來擴展其集合。

經過特殊化處理的文件選取器可以實現上述需求,使用 StorageLibrary 方法進行調用后,允許用戶將文件夾添加到他們的庫中。用戶不再需要退出應用并轉到桌面上來擴展他們的媒體集合。

Note  新的 StorageLibrary 類還可以定義一個從庫中刪除文件的方法,但是若要在應用中實現該功能,則需要自定義的 UI 元素。

檢索父文件或文件夾

Windows 8 的存儲 API 沒有定義直接檢索存儲項的父文件夾的方法,所以要求你編寫自己的自定義邏輯。在 Windows 8.1 Preview 中,你可以使用 GetParentAsync 方法獲取文件或文件夾的父 StorageFolder

Important  要讓 GetParentAsync 方法成功,你必須擁有對父級的訪問權限,可通過聲明庫能力或在未來訪問列表中保留更高級的文件夾實現。 此外,如果你無法訪問父文件或文件夾,此方法也不會拋出異常,而是返回 null

使用 IsEqual 來比較文件

若要直接比較各個存儲項以確定它們是否表示的是相同的項,Windows 8 的存儲 API 并沒有定義此方法。開發人員通過比較路徑來解決這個問題,然而他們仍可能會遇到不具備路徑值的存儲項。在 Windows 8.1 Preview 中,你可以使用 IsEqual 方法來確定兩個存儲項是否顯示的是相同的文件。

下面的示例顯示了如何使用新方法比較兩個存儲文件是否相同。

  1. function openNewFile() { 
  2.     var picker = new Windows.Storage.Pickers.FileOpenPicker; 
  3.     picker.fileTypeFilter.replaceAll(["*"]); 
  4.     picker.pickSingleFileAsync().then(function (file) { 
  5.         var alreadyOpenedFile = null
  6.         _openFiles.some(function (openFile) { 
  7.             if (file.IsEqual(openFile.file)) { 
  8.                 alreadyOpenedFile = openFile; 
  9.                 return true
  10.             } 
  11.             return false
  12.         }); 
  13.  
  14.         if (alreadyOpenedFile != null) { 
  15.             alreadyOpenedFile.window.activate(); 
  16.         } else { 
  17.             createNewFileViewerWindow(file); 
  18.         } 
  19.     }); 

新增的 KnownFolders 屬性

Windows 8.1 Preview 引入了兩個新 KnownFolders 屬性,這允許你在兩個其他的位置訪問文件:CameraRollPlaylists

KnownFolders.CameraRoll 屬性允許你訪問使用設備相機拍攝的圖片—這跟現有的 Windows Phone 8 屬性相似。KnownFolders.Playlists 屬性允許你訪問用戶的播放列表

文件檢索時無錯誤處理要求

Windows 8.1 Preview 引入的 StorageFolder.TryGetItemAsync 方法允許應用嘗試按照名稱來檢索文件或文件夾,無需在應用代碼中添加錯誤捕捉邏輯。如果找不到文件或文件夾,TryGetItemAsync 返回 null,并不拋出異常。因為該方法返回 null,你也可以使用它來確定是否存在特定的文件或文件夾。

在打開(方式)應用場景中允許查看文件

在 Windows 8.1 Preview 中,你可以使用 NeighboringFilesQuery 屬性,瀏覽激活應用的文件周圍的文件。

在 Windows 8 中,使用特定文件關聯打開內容的默認應用只能獲得一個代表所調用文件的對象。 這對于媒體庫應用而言是一個問題,因為用戶希望瀏覽周圍的文件。在 Windows 8.1 Preview 中,默認應用可以獲得周圍 視圖中的文件集合—即從中選擇所調用文件的集合。

你的應用需要聲明特定的庫功能,以便獲取相應類型的條目。 例如,若要獲取 NeighboringFilesQuery 中的圖片,應用必須聲明“圖片庫”功能。

本示例顯示了如何檢索激活應用的文件周圍的文件集合。

  1. function activated(sender, e) { 
  2.     if (e.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.file && e.files.size > 0) { 
  3.         var invokedFile = e.detail.files[0]; 
  4.         var neighboringFiles = e.detail.neighboringFilesQuery; 
  5.         if (neighboringFiles) { 
  6.             result.neighboringFiles.findStartIndexAsync(e.detail.files[0]).done(function (index) { 
  7.                 var invokedFileElement = document.getElementById("invokedFile"); 
  8.                 invokedFileElement.textContent = "Invoked item: " + invokedFile.name + ", at index " + index + " in view file enumeration."
  9.  
  10.                 var prevFileslist = document.getElementById("prevFilesList"); 
  11.                 result.neighboringFiles.getFilesAsync(0, index).done(function (fileList) { 
  12.                     fileList.forEach(function (file) { 
  13.                         // Create an entry in the list for the file. 
  14.                         var fileItemElement = document.createElement("li"); 
  15.                         fileItemElement.textContent = file.name; 
  16.                         prevFileslist.appendChild(listItemElement); 
  17.                     }); 
  18.                 }, 
  19.                 function (error) { 
  20.                     // Handle error trying to get list of files. 
  21.                 }); 
  22.  
  23.                 var nextFileslist = document.getElementById("nextFilesList"); 
  24.                 result.neighboringFiles.getFilesAsync(index + 1, -1).done(function (fileList) { 
  25.                     fileList.forEach(function (file) { 
  26.                         // Create an entry in the list for the file. 
  27.                         var fileItemElement = document.createElement("li"); 
  28.                         fileItemElement.textContent = file.name; 
  29.                         nextFileslist.appendChild(listItemElement); 
  30.                     }); 
  31.                 }, 
  32.                 function (error) { 
  33.                     // Handle error trying to get list of files. 
  34.                 }); 
  35.             }, 
  36.             function (error) { 
  37.                 // Handle error trying to get file index. 
  38.             }); 
  39.         } 
  40.     } 
  41.  
  42. app.addEventListener("activated", activated); 

#p#

將應用內容添加到 Windows 索引中

在 Windows 8.1 Preview 中,可以直接將應用內容添加到 Windows 索引。將應用內容添加到索引中可以確保在使用 ApplicationIndexedContent 文件夾的查詢或使用新增的應用內搜索控件時,快速搜索應用內容。你可以使用 Windows.Storage.Search 中新增的 API 集,或者通過創建 "appcontent-ms" 文件,在索引中添加文件屬性和內容。

SkyDrive

在 Windows 8.1 Preview 中,SkyDrive 提供兩項全新的功能更新:

  • 文件存儲

讓 SkyDrive 成為用戶文檔、圖片和視頻的默認存儲位置,可將 SkyDrive 輕松集成到你的應用。只要實例化應用中的 FileSavePickerFileOpenPicker 對象,默認情況下文件選取器就會打開 SkyDrive。但用戶必須登錄自己的 Microsoft 帳戶才能實現此操作。(也可將文件選取器的 SuggestedStartLocation 屬性設置到非 SkyDrive 的位置。)

  • SkyDrive 存儲管理工具

我們改進了 Windows 8.1 Preview 上的 SkyDrive 存儲配額管理體驗。用戶可直接從 Windows 管理 SkyDrive,無需轉到 skydrive.com。他們可查看存儲使用情況、升級存儲計劃并回收 SkyDrive 上的空間,完全無需離開 Windows 8.1 Preview 界面。

DDS 圖像文件支持

使用 JavaScript 和可擴展應用程序標記語言 (XAML)  WebView 控件的 Windows 應用商店應用現在支持 Microsoft DirectDraw 表面 (DDS) 文件格式,從而使你能夠創建運行速度更快的 WebGL 應用,這類應用即使是在使用較大紋理的情況下,也能更快速地運行 。

關于塊壓縮和 DDS

塊壓縮 (BC) 是一種用于在 DirectDraw 表面 (DDS) 文件中存儲像素數據的壓縮類。與其他圖像文件格式不同,圖形處理器 (GPU) 可以直接從塊壓縮格式中采樣,而無需任何解壓縮或處理,從而能夠改進在 Windows 應用商店應用中加載紋理資源的性能。對于 BC 格式,平均每個像素使用 4-8 位,而對于常規的 RGBA 紋理,每個像素使用 32 位。因此,塊壓縮格式還能將總 GPU 內存使用量降低多達 87.5%,從而允許在 Windows 應用商店應用中使用大量或較高質量的資產。

盡管有很多塊壓縮算法,但 Windows 8.1 Preview 上使用 JavaScript 和 XAML WebView 控件的 Windows 應用商店應用在 DDS 文件格式中只支持三種類型的塊壓縮:BC1、BC2 和 BC3。由于經過塊壓縮的 DDS 圖像幾乎不需要任何 CPU 解碼時間,因此它的加載速率比 JPEG 圖像快得多,同時由于塊壓縮使用的 GPU 內存較少,你還可以使用更多的紋理資源。經過塊壓縮的 DDS 文件是適用于內置游戲背景和紋理的理想圖像格式。

如何在 DDS 文件中使用塊壓縮

在使用 JavaScript 或 XAMLWebView 控件的 Windows 應用商店應用中將你的圖像資產轉換為塊壓縮格式時,需要考慮以下限制:

  • 僅支持與以下 DXGI_FORMAT 枚舉值對應的 BC1、BC2 和 BC3 塊壓縮格式:
    • DXGI_FORMAT_BC1_UNORM
    • DXGI_FORMAT_BC2_UNORM
    • DXGI_FORMAT_BC3_UNORM
  • 必須使用預乘 Alpha。支持使用顯式定義預乘 Alpha(DXT1、DXT2 和 DXT4)的格式的舊 DDS 文件,以及使用 DDS_HEADER_DX10 結構和有效 DDS_ALPHA_MODE 值(DDS_ALPHA_MODE_OPAQUE 和 DDS_ALPHA_MODE_PREMULTIPLIED)的新 DDS 文件。
  • X 和 Y 維度必須是 4 像素的倍數。
  • DDS 中不支持立體紋理、立方圖、mipmap 或紋理格式。

如果你不遵守這些限制,你的 DDS 文件將無法加載到使用 JavaScript 或 XAML WebView 控件的 Windows 應用商店應用中。有關詳細信息,請參閱此鏈接。

在 DDS 文件中創建塊壓縮資產后,可以在標記中加載 DDS 文件,或通過 JavaScript 進行加載:

HTML

  1. <img src=”sample.dds” /> 

JavaScript

  1. var img = new Image(); 
  2. img.src = “sample.dds”;

何時使用塊壓縮格式

如上所述,經過塊壓縮的 DDS 文件可顯著增加你能夠在 Windows 應用商店應用中使用的較大紋理的數量,并且可以提高應用的加載速度。但是,盡管經過塊壓縮的 DDS 文件在 GPU 內存使用方面更加高效,而與 JPEG 文件相比,卻占用較多的磁盤空間。經過塊壓縮的 DDS 文件格式不適合通過網絡下載,因此最好將這類文件用作應用程序包中的本地資產。盡管在 Internet Explorer 11 Preview 上支持經過塊壓縮的 DDS 文件,但由于需要較高的網絡成本,因此不推薦在 Web 上使用這種格式。

由于塊壓縮格式會降低質量,因此就像使用其他類似的格式那樣,必須確保在轉換為塊壓縮格式時不會降低視覺質量。塊壓縮對于真實的“自然”圖像處理效果非常好,但對于強烈的漸變和色移會出現失真。

原文鏈接:http://msdn.microsoft.com/zh-cn/library/windows/apps/bg182881.aspx

責任編輯:陳四芳 來源: microsoft.com
相關推薦

2013-08-28 15:26:35

Windows8.1工具

2013-09-03 14:59:47

Windows網絡

2013-08-05 17:25:40

windows

2013-08-20 15:54:14

異步編程windows編程

2015-01-06 10:00:00

Windows 10

2013-12-04 10:51:02

Windows 8.1Windows 8

2013-08-28 16:08:19

多媒體Windows8.1

2013-10-16 10:09:12

Windows 8.1

2014-03-18 17:45:01

Windows 8.1

2013-10-21 10:07:30

微軟Windows 8.1理由

2013-06-17 09:38:34

Windows 8.1

2013-04-01 14:15:03

Windows Blu

2013-06-21 10:45:41

Windows 8.1

2013-09-03 13:42:34

Windows銀行

2013-10-28 13:26:41

Windows 8.1破解

2014-07-11 10:23:54

2013-11-19 12:23:42

Windows 8.1PC

2013-04-16 11:31:27

Windows 8.1

2013-06-14 13:48:28

Windows 8.1桌面屬性

2013-10-28 16:37:38

Windows 8.1技巧
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 狠狠婷婷综合久久久久久妖精 | 久久久久久久久久久久一区二区 | 国产激情在线 | 国产精品91久久久久久 | 国产成人在线一区二区 | 超碰在线观看97 | 色性av | 国产欧美日韩久久久 | 国产第一区二区 | 麻豆久久久9性大片 | 亚洲精品乱码久久久久久久久 | 日本一区视频在线观看 | 国产一级久久久久 | 国产精品久久久亚洲 | 黄色毛片大全 | 中文字幕第十五页 | 国内自拍视频在线观看 | 国产91综合一区在线观看 | 日本黄视频在线观看 | 日韩视频在线免费观看 | 精品少妇一区二区三区在线播放 | 国产精品99 | 干出白浆视频 | 久草色视频 | 99r在线| 中文字幕在线观看一区二区 | 久久在线 | 国产精品一区二区三区久久久 | 精品欧美一区二区三区久久久 | 日本 欧美 国产 | 国产精品欧美一区二区三区不卡 | 国产精品久久久久久久久久久久冷 | 一级毛片在线播放 | 日韩精品中文字幕在线 | 久久亚洲欧美日韩精品专区 | 日韩www| 成人精品在线观看 | 久久网国产 | 欧美精品一区在线 | 精品精品视频 | 日韩欧美亚洲综合 |