Win2D 官方文章系列翻譯 畫素格式

2022-03-11 04:52:23 字數 2637 閱讀 1534

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 沒有提供任何載入此類格式影象的途徑,getpixelbytessetpixelbytes以及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 越低,其構成畫素數就越少。有關一般 ...