自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Windows 8.1 之文件

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

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

Windows 8.1 Preview 中的新特性或更新

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

更新后的文件選取器支持新的應(yīng)用顯示模式

在 Windows 8.1 Preview 中,以拆分屏幕和全屏顯示方式運(yùn)行的應(yīng)用可以調(diào)用文件選取器。這有助于用戶操作,并且可以根據(jù)他們的需要,執(zhí)行多項(xiàng)任務(wù)。例如,假如用戶在一個(gè)窗口中打開 了 Skype 會(huì)話,而在另一窗口中打開了電子郵件應(yīng)用,電子郵件應(yīng)用可以為用戶打開文件選取器以便包含一個(gè)附件,而此時(shí)應(yīng)用無需轉(zhuǎn)成全屏顯示。若要了解有關(guān)使用文件選 取器的詳細(xì)信息,請(qǐng)參閱快速入門:使用文件選取器訪問文件。

應(yīng)用內(nèi)的用戶庫管理

Windows 8.1 Preview 引入了 StorageLibrary 類,該類允許用戶在應(yīng)用內(nèi)管理其個(gè)人庫(例如“音樂”和“視頻”)中的文件夾。這在媒體庫應(yīng)用中特別有用,因?yàn)橛脩敉ǔP枰砑雍写罅繄D像、音樂或視頻的文件夾來擴(kuò)展其集合。

經(jīng)過特殊化處理的文件選取器可以實(shí)現(xiàn)上述需求,使用 StorageLibrary 方法進(jìn)行調(diào)用后,允許用戶將文件夾添加到他們的庫中。用戶不再需要退出應(yīng)用并轉(zhuǎn)到桌面上來擴(kuò)展他們的媒體集合。

Note  新的 StorageLibrary 類還可以定義一個(gè)從庫中刪除文件的方法,但是若要在應(yīng)用中實(shí)現(xiàn)該功能,則需要自定義的 UI 元素。

檢索父文件或文件夾

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

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

使用 IsEqual 來比較文件

若要直接比較各個(gè)存儲(chǔ)項(xiàng)以確定它們是否表示的是相同的項(xiàng),Windows 8 的存儲(chǔ) API 并沒有定義此方法。開發(fā)人員通過比較路徑來解決這個(gè)問題,然而他們?nèi)钥赡軙?huì)遇到不具備路徑值的存儲(chǔ)項(xiàng)。在 Windows 8.1 Preview 中,你可以使用 IsEqual 方法來確定兩個(gè)存儲(chǔ)項(xiàng)是否顯示的是相同的文件。

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

  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 引入了兩個(gè)新 KnownFolders 屬性,這允許你在兩個(gè)其他的位置訪問文件:CameraRollPlaylists。

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

文件檢索時(shí)無錯(cuò)誤處理要求

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

在打開(方式)應(yīng)用場(chǎng)景中允許查看文件

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

在 Windows 8 中,使用特定文件關(guān)聯(lián)打開內(nèi)容的默認(rèn)應(yīng)用只能獲得一個(gè)代表所調(diào)用文件的對(duì)象。 這對(duì)于媒體庫應(yīng)用而言是一個(gè)問題,因?yàn)橛脩粝M麨g覽周圍的文件。在 Windows 8.1 Preview 中,默認(rèn)應(yīng)用可以獲得周圍 視圖中的文件集合—即從中選擇所調(diào)用文件的集合。

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

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

  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#

將應(yīng)用內(nèi)容添加到 Windows 索引中

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

SkyDrive

在 Windows 8.1 Preview 中,SkyDrive 提供兩項(xiàng)全新的功能更新:

  • 文件存儲(chǔ)

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

  • SkyDrive 存儲(chǔ)管理工具

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

DDS 圖像文件支持

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

關(guān)于塊壓縮和 DDS

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

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

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

在使用 JavaScript 或 XAMLWebView 控件的 Windows 應(yīng)用商店應(yīng)用中將你的圖像資產(chǎn)轉(zhuǎn)換為塊壓縮格式時(shí),需要考慮以下限制:

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

如果你不遵守這些限制,你的 DDS 文件將無法加載到使用 JavaScript 或 XAML WebView 控件的 Windows 應(yīng)用商店應(yīng)用中。有關(guān)詳細(xì)信息,請(qǐng)參閱此鏈接。

在 DDS 文件中創(chuàng)建塊壓縮資產(chǎn)后,可以在標(biāo)記中加載 DDS 文件,或通過 JavaScript 進(jìn)行加載:

HTML

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

JavaScript

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

何時(shí)使用塊壓縮格式

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

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

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

責(zé)任編輯:陳四芳 來源: microsoft.com
相關(guān)推薦

2013-08-28 15:26:35

Windows8.1工具

2013-09-03 14:59:47

Windows網(wǎng)絡(luò)

2013-08-05 17:25:40

windows

2013-08-20 15:54:14

異步編程windows編程

2015-01-06 10:00:00

Windows 10

2014-03-18 17:45:01

Windows 8.1

2013-10-16 10:09:12

Windows 8.1

2013-08-28 16:08:19

多媒體Windows8.1

2013-12-04 10:51:02

Windows 8.1Windows 8

2013-10-21 10:07:30

微軟Windows 8.1理由

2013-04-01 14:15:03

Windows Blu

2013-09-03 13:42:34

Windows銀行

2014-07-11 10:23:54

2013-06-21 10:45:41

Windows 8.1

2013-10-28 13:26:41

Windows 8.1破解

2013-06-17 09:38:34

Windows 8.1

2013-06-27 13:43:37

Windows 8.1鏡像文件

2013-11-19 12:23:42

Windows 8.1PC

2013-10-21 09:53:50

Windows 8.1微軟

2013-09-09 10:42:17

Windows 8.1
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)