Direct2D 的新功能
以下是 Direct2D 的一些新增功能。
Windows 10 Creators Update 的新功能
Windows 10 Creators Update 已新增或更新下列功能和 API。
支援 SVG 影像轉譯
從 Windows 10 Creators Update 開始,Direct2D 提供剖析和繪製 SVG 影像的支援,可讓開發人員轉譯在其慣用向量藝術工具中產生的資產,而不需要先將它們轉換成點陣影像。 使用此功能可改善應用程式內圖示的磁碟使用量和調整行為,並使用 Direct2D 的新 SVG 物件模型 API,以程式設計方式變更應用程式的 SVG。 請注意,Direct2D 僅支援適用於影像且不支援所有 SVG 繪圖功能的有限 SVG 子集。 如果您需要瀏覽器級 SVG 相容性或 SVG 的網頁導向功能,請考慮改用 XAML WebView 控制件。 如需詳細資訊,請參閱下列主題:
- Direct2D SVG 影像轉譯範例
- SVG 支援
- ID2D1DeviceContext5::CreateSvgDocument 方法
- ID2D1DeviceContext5::DrawSvgDocument 方法
- ID2D1SvgElement 介面
對色彩管理的支援進行了改善
從 Windows 10 Creators Update 開始,Direct2D 提供改良的色彩管理功能。 開發人員不再需要 ICC 配置檔,才能使用 Direct2D 的色彩管理效果:他們現在可以使用 DXGI 色彩空間,或建構自己的參數化色彩空間定義。 如需詳細資訊,請參閱下列主題:
- 色彩管理效果
- ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace
- ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile
Windows 10 年度更新版的新功能
Windows 10 年度更新版已新增或更新下列功能和 API。
改善色彩字型的支援
從 Windows 10 年度更新版開始,Direct2D 現在支援轉譯更廣泛的色彩字型格式,讓開發人員在 Direct2D 支援的應用程式中使用更多類型的字型。 這包括下列項目的支援:
- 'COLR' OpenType 數據表,可在字型中啟用精簡向量內容。 (自 Windows 8.1 起支援)
- 'SVG ' OpenType 數據表,可啟用字型中的 SVG 內容。
- 'CBDT' OpenType 表格,可在字型中啟用色彩點圖內容。
- 'sbix' OpenType 數據表,可在字型中啟用色彩點圖內容。
Direct2D 會在啟用 D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT 旗標時自動支援這些色彩字型格式。 如需詳細資訊,請參閱下列主題:
新的影像效果
從 Windows 10 年度更新版開始,Direct2D 包含 AlphaMask、CrossFade、Opacity 和 Tint 效果。 這項功能先前可從 Composite、ArithmeticComposite 和 ColorMatrix 效果的特定組態取得,但新的內建效果可讓您更輕鬆地執行這些常見作業。
Windows 10 的新功能
Windows 10 已新增或更新下列功能和 API。
Sprite 批次
從 Windows 10 開始,Direct2D 提供建立和轉譯 Sprite 批次的支援。 相較於一般用途的 DrawImage 方法,sprite 群組能顯著減少每個圖像的 CPU 負擔。 這讓它們非常適合涉及數百或數千個同時影像的情境,例如遊戲精靈圖或粒子系統。 如需詳細資訊,請參閱下列主題:
- ID2D1DeviceContext3::CreateSpriteBatch 方法
- ID2D1DeviceContext3::DrawSpriteBatch 方法
- ID2D1SpriteBatch 介面
漸層網格
從 Windows 10 開始,Direct2D 會為漸層網格提供新的基本類型。 漸層網格通常由專業插畫家在圖形設計軟體中使用,並可讓藝術家以向量的所有記憶和延展性優點來轉譯複雜(甚至是相片逼真的)彩色圖形。 如需詳細資訊,請參閱下列主題:
改善的映像載入 API
從 Windows 10 開始,Direct2D 提供新的 API 來載入影像 ID2D1ImageSource。 影像來源可改善現有的影像載入 API,包括 CreateBitmapFromWicBitmap、位圖來源效果和 YCbCr 效果。 Direct2D 影像來源結合了這些 API 的強大功能,不僅支援任意大小的影像,還能輕鬆與列印及特效進行整合,並且包括多項優化,例如 YCbCr JPEG 和索引 JPEG。 如需詳細資訊,請參閱下列主題:
改善筆跡轉譯的支援
從 Windows 10 開始,Direct2D 提供了一種新的原語來表示墨筆劃。 Direct2D 墨跡由 Bezier 曲線定義,支援不同的筆尖形狀和變換,可能具有固定或可變粗細。 Direct2D 的墨跡內建支援可讓應用程式更輕鬆地呈現出比以往更快速、更美觀的墨跡,過去通常需要應用程式自行管理墨跡,並將其視為一系列的橢圓形和四邊形。 如需詳細資訊,請參閱下列主題:
效果著色器連結
Direct2D 效果是使用 HLSL 像素、頂點和/或計算著色器來實作。 從 Windows 10 開始,Direct2D 現在會自動分析效果圖表,以取得合併和執行個別著色器的機會。 這可大幅提升效果輸送量。 內建效果的取用者不需要執行任何動作,就能受益於效果著色器連結,但建置自己自定義效果的開發人員應該遵循更新的最佳做法來運用效果著色器連結。 如需詳細資訊,請參閱下列主題:
效果著色器鏈接的設計目的是不會影響效果的視覺輸出。 不過,這並非總是可行,因為涉及效果精準度和數值裁剪的特定行為。 如需如何控制這些行為的詳細資訊,請參閱:
新的內建效果
從 Windows 10 開始,Direct2D 包含一組豐富的新內建效果,可解決頂級開發人員要求,並啟用新類型的視覺案例。 新的效果如下:
顏色:
相片:
濾波器:
風格化:
透明度:
Direct2D 相片調整 SDK 範例示範了拉直、飽和度、對比、亮點和陰影,以及溫度和色調效果。
Windows 8.1 的新功能
Windows 8.1 已新增或更新下列功能和 API。
從 Windows 8.1 開始,Direct2D 建置在 Direct3D 11.2 之上。
幾何實現
從 Windows 8.1 開始,Direct2D 提供幾何實現。 幾何實體化可以讓應用程式在某些情況下提升幾何渲染效能,而不需要面臨將幾何圖形光柵化為位圖的一些缺點。 如需詳細資訊,請參閱下列主題:
JPEG YCbCr 映像的支援
從 Windows 8.1 開始,Direct2D 支援以 JPEG Y'CbCr 格式轉譯影像數據。 應用程式可以在其原生 Y'CbCr 表示法中轉譯 JPEG 內容,而不是解壓縮至 BGRA。 這可大幅減少圖形記憶體耗用量和資源建立時間。 如需詳細資訊,請參閱下列主題:
- Direct2D YCbCr 效果
- IWICPlanarBitmapSourceTransform 介面
支援區塊壓縮格式 (DDS 檔案)
從 Windows 8.1 開始,Direct2D 支援包含DXGI_FORMAT_BC1_UNORM、DXGI_FORMAT_BC2_UNORM和DXGI_FORMAT_BC3_UNORM像素數據的位圖。 應用程式可以使用區塊壓縮的 DDS 圖像來取代其圖像資源。 這可大幅減少圖形記憶體耗用量和資源建立時間。 如需詳細資訊,請參閱下列主題:
轉譯優先順序
從 Windows 8.1 開始,Direct2D 提供每個裝置轉譯優先順序的支援。 這項新功能可讓應用程式在一般轉譯優先順序(預設值)與低轉譯優先順序之間切換裝置(裝置不會封鎖系統上的其他轉譯工作)。 建議應用程式針對對用戶回應性不重要的工作使用低轉譯優先順序,例如預先轉譯內容、在最小化時轉譯,以及通常會在背景執行的其他作業。 如需詳細資訊,請參閱下列主題:
Windows 8 的新功能
已針對 Windows 8 新增或更新下列功能和 API。
安裝了 Windows 7 的 平台更新 後,新的 Direct2D 介面便獲得支援。
Direct2D 的裝置和裝置內容的語意已更新為更接近 Direct3D 所使用的語意,並在 Windows 市集應用程式上提供簡潔的作業。 如需詳細資訊,請參閱 裝置和裝置內容。
選取的相關 API:
命令清單 API 可讓您在畫面轉譯和列印時共用的轉譯路徑。 它也可讓您使用基本類型來建立影像筆刷來填滿基本類型。
選取的相關 API:
Direct2D 效果 是 Windows 8 中新的一組 API,用於將高品質效果套用至影像。 它也包含可讓您製作自定義效果的 API。
選取的相關 API:
從 Windows 8 開始,Direct2D 包含建置多線程應用程式的其他 API。 如需詳細資訊,請參閱 多線程 Direct2D 應用程式。
選取的相關 API: