directxpixelformat 列舉 包含了 direct3d 和 dxgi 所使用全部各種畫素格式,但其中只有部分被 win2d 所支援 (或被 win2d 構建的基礎—— direct2d 所支援)。
如果不確定該採用哪種格式,預設選擇b8g8r8a8uintnormalized
作為畫素格式以及premultiplied
作為 canvasalphamode (場景 alpha 模式)適用於大多數場景。
以下列出的所有格式均被 direct3d 特性等級 11 的 gpu 硬體(用於桌面計算機以及多數平板電腦)所支援。特性等級 9 的 gpu (常用於手機)僅支援乙個子集。如果你想要使用某個標記為「並非所有裝置支援」的格式,你需要在資源建立失敗時捕獲相應的異常並自動選擇一種通用有效的選項。
canvasbitmap 格式
directxpixelformat
相容的canvasalphamode
備註b8g8r8a8uintnormalized
premultiplied, ignore
預設格式
b8g8r8a8uintnormalizedsrgb
premultiplied, ignore
並非所有裝置支援
b8g8r8x8uintnormalized
ignore
r8g8b8a8uintnormalized
premultiplied, ignore
r8g8b8a8uintnormalizedsrgb
premultiplied, ignore
並非所有裝置支援
r16g16b16a16float
premultiplied, ignore
並非所有裝置支援
r32g32b32a32float
premultiplied, ignore
並非所有裝置支援
r16g16b16a16uintnormalized
premultiplied, ignore
並非所有裝置支援
r8g8uintnormalized
ignore
並非所有裝置支援
r8uintnormalized
ignore
並非所有裝置支援
a8uintnormalized
premultiplied, straight
bc1uintnormalized
premultiplied, ignore
尚未完全被 win2d 支援1
bc2uintnormalized
premultiplied, ignore
尚未完全被 win2d 支援1
bc3uintnormalized
premultiplied, ignore
尚未完全被 win2d 支援1
1 win2d 尚不完全支援塊壓縮格式(bc1、bc2 以及 bc3)。雖然可以通過canvasbitmap.createfrombytes
建立塊壓縮位圖,並從原生 direct2d 或 direct2d 進行繪製和互動,但 win2d 沒有提供任何載入此類格式影象的途徑,getpixelbytes
、setpixelbytes
以及copypixelsfrombitmap
方法也不能對分塊壓縮資料正常使用。在 win2d 的未來版本中將會改進這一情況。
canvasrendertarget 格式
directxpixelformat
相容的 canvasalphamode
備註b8g8r8a8uintnormalized
premultiplied, ignore
預設格式
b8g8r8a8uintnormalizedsrgb
premultiplied, ignore
並非所有裝置支援
r8g8b8a8uintnormalized
premultiplied, ignore
r8g8b8a8uintnormalizedsrgb
premultiplied, ignore
並非所有裝置支援
r16g16b16a16float
premultiplied, ignore
並非所有裝置支援
r32g32b32a32float
premultiplied, ignore
並非所有裝置支援
r16g16b16a16uintnormalized
premultiplied, ignore
並非所有裝置支援
a8uintnormalized
premultiplied, straight
canvasswapchain 格式
directxpixelformat
相容的 canvasalphamode
備註b8g8r8a8uintnormalized
premultiplied, ignore
預設格式
r8g8b8a8uintnormalized
premultiplied, ignore
r16g16b16a16float
premultiplied, ignore
並非所有裝置支援
Win2D 官方文章系列翻譯 幕後繪製
應用有時需要將圖形繪製到並不立即顯示的目標上。此類繪製動作被稱作 幕後繪製 或 繪製到紋理 當應用需要將繪製操作輸出儲存到乙個檔案 返回為乙個畫素陣列或留作後續操作的輸入源時,常需要進行這種幕後繪製。通過使用 win2d 中的 canvasrendertarget 可以輕鬆實現以上場景。canvas...
Win2D 官方文章系列翻譯 預乘 Alpha
在計算機繪圖中有兩種表示顏色值不透明度的方法。win2d 中兩種方法均有所採用。本文旨在解釋兩種方法之間的區別以及其各自的使用場景。直接 alpha straight alpha 當使用直接,亦即線性 alpha 時 在該方法中,rgb 和 alpha 通道各自獨立發揮作用。它們可以在不互相影響的情...
Win2D 官方文章系列翻譯 調整控制項解析度
解析度與控制項縮放 本文中所用的 解析度 一詞,是指位圖的尺寸 高寬 win2d xaml 控制項繪製的物件均有解析度和 dpi 這兩項屬性。物件的 dpi 指示了繪製時其構成畫素的密度。dpi 就像縮放因數 dpi 越高則繪製物件構成的畫素數越多 反之,dpi 越低,其構成畫素數就越少。有關一般 ...