偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Windows 8.1 之文件

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

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

Windows 8.1 Preview 中的新特性或更新

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

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

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

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

Windows 8.1 Preview 引入了 StorageLibrary 類(lèi),該類(lèi)允許用戶(hù)在應(yīng)用內(nèi)管理其個(gè)人庫(kù)(例如“音樂(lè)”和“視頻”)中的文件夾。這在媒體庫(kù)應(yīng)用中特別有用,因?yàn)橛脩?hù)通常需要添加含有大量圖像、音樂(lè)或視頻的文件夾來(lái)擴(kuò)展其集合。

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

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

檢索父文件或文件夾

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

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

使用 IsEqual 來(lái)比較文件

若要直接比較各個(gè)存儲(chǔ)項(xiàng)以確定它們是否表示的是相同的項(xiàng),Windows 8 的存儲(chǔ) API 并沒(méi)有定義此方法。開(kāi)發(fā)人員通過(guò)比較路徑來(lái)解決這個(gè)問(wèn)題,然而他們?nèi)钥赡軙?huì)遇到不具備路徑值的存儲(chǔ)項(xiàng)。在 Windows 8.1 Preview 中,你可以使用 IsEqual 方法來(lái)確定兩個(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è)其他的位置訪問(wèn)文件:CameraRollPlaylists。

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

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

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

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

在 Windows 8.1 Preview 中,你可以使用 NeighboringFilesQuery 屬性,瀏覽激活應(yīng)用的文件周?chē)奈募?/p>

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

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

本示例顯示了如何檢索激活應(yīng)用的文件周?chē)奈募稀?/p>

  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 文件夾的查詢(xún)或使用新增的應(yīng)用內(nèi)搜索控件時(shí),快速搜索應(yīng)用內(nèi)容。你可以使用 Windows.Storage.Search 中新增的 API 集,或者通過(guò)創(chuàng)建 "appcontent-ms" 文件,在索引中添加文件屬性和內(nèi)容。

SkyDrive

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

  • 文件存儲(chǔ)

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

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

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

DDS 圖像文件支持

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

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

塊壓縮 (BC) 是一種用于在 DirectDraw 表面 (DDS) 文件中存儲(chǔ)像素?cái)?shù)據(jù)的壓縮類(lèi)。與其他圖像文件格式不同,圖形處理器 (GPU) 可以直接從塊壓縮格式中采樣,而無(wú)需任何解壓縮或處理,從而能夠改進(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 文件格式中只支持三種類(lèi)型的塊壓縮:BC1、BC2 和 BC3。由于經(jīng)過(guò)塊壓縮的 DDS 圖像幾乎不需要任何 CPU 解碼時(shí)間,因此它的加載速率比 JPEG 圖像快得多,同時(shí)由于塊壓縮使用的 GPU 內(nèi)存較少,你還可以使用更多的紋理資源。經(jīng)過(guò)塊壓縮的 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 文件將無(wú)法加載到使用 JavaScript 或 XAML WebView 控件的 Windows 應(yīng)用商店應(yīng)用中。有關(guān)詳細(xì)信息,請(qǐng)參閱此鏈接。

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

HTML

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

JavaScript

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

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

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

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

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

責(zé)任編輯:陳四芳 來(lái)源: 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

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銀行

2014-07-11 10:23:54

2013-10-28 13:26:41

Windows 8.1破解

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技巧
點(diǎn)贊
收藏

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