Win2D 官方文章系列翻译 - 像素格式
本文为个人博客备份文章,原文地址:
http://validvoid.net/win2d-pixel-formats/
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 官方文章系列翻译 - DPI (每英寸点数)和 DIPs(设备独立像素)
本文为个人博客备份文章,原文地址: http://validvoid.net/win2d-dpi-dips/ 本文旨在解释物理像素与设备独立像素(DIPs, device independent pi ...
- Win2D 官方文章系列翻译 - 预乘 Alpha
本文为个人博客备份文章,原文地址: http://validvoid.net/win2d-premultiplied-alpha/ 在计算机绘图中有两种表示颜色值不透明度的方法.Win2D 中两种方法 ...
- Win2D 官方文章系列翻译 - 幕后绘制
本文为个人博客备份文章,原文地址: http://validvoid.net/win2d-offscreen-drawing/ 应用有时需要将图形绘制到并不立即显示的目标上.此类绘制动作被称作“幕后绘 ...
- Win2D 官方文章系列翻译 - 调整控件分辨率
本文为个人博客备份文章,原文地址: http://validvoid.net/win2d-choosing-control-resolution/ 本文旨在讲解如何配置 Win2D XAML 控件使用 ...
- Win2D 官方文章系列翻译 - 处理设备丢失
本文为个人博客备份文章,原文地址: http://validvoid.net/win2d-handling-device-lost/ “设备丢失”是指 GPU 设备失效无法继续进行渲染的情况.GPU ...
- Win2D 官方文章系列翻译 - 避免内存泄漏
本文为个人博客备份文章,原文地址: http://validvoid.net/win2d-avoiding-memory-leaks/ 在托管 XAML 应用中使用 Win2D 控件时,必须谨慎处理对 ...
- Win2D 官方文章系列翻译 - 与 Direct2D 互操作
本文为个人博客备份文章,原文地址: http://validvoid.net/win2d-interop-with-direct2d/ Win2D 作为 Direct2D 的上层实现,支持与其进行双向 ...
- 在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet
免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作 ...
- NLog文章系列——如何配置NLog(转)
NLog使用方法 作者:Jaros?aw Kowalski <> 翻译:CrazyCoder(由衷感谢他的热心!!) 原文:http://www.nlog-project.org/conf ...
随机推荐
- java 学习第二篇关系运算符和布尔值
关系运算符,顾名思义.用来看什么关系.(也就是用来比较) 看下表 JAVA 关系运算符 a=6,b=5 关系运算符 举例 值 解释 > a>b true a大于b < a<b ...
- 求解热传导方程matlab
这是非稳态一维热传导的方法,也叫古典显格式. 如果是做数学建模,就别用了,这种方法计算量比较大,算的很慢,而且收敛不好. 但是如果实在没办法也能凑合用. 该改的地方我都用???代替了. 给个详细解释h ...
- POST工具
#!/usr/bin/env python# Filename: post.py import sysdef send(host,port,request): import socket s = so ...
- 安装Scrapy报错 error: Microsoft Visual C++ 14.0 is required解决方法
[问题背景]:在Windows 10系统,pip install Scrapy,报错error: Microsoft Visual C++ 14.0 is required,还有提示Twisted需要 ...
- C# 添加,修改,删除Xml节点
//添加xml节点 private void AddXml(string image, string title) { XmlDocument xmlDoc = new X ...
- CF1096G Lucky Tickets 快速幂套FFT
\(\color{#0066ff}{ 题目描述 }\) 一个\(n\)位数,每位可以是给出的\(k\)个数码中的一个数,可以有前导\(0\),输出前\(n/2\)位之和与后\(n/2\)位之和相等的方 ...
- CF581C Developing Skills 模拟
Petya loves computer games. Finally a game that he's been waiting for so long came out! The main cha ...
- C# 添加vertical 属性上下边框消失问题
点击这里的曲别针就好了.... 自定义控件主题..... #学习地址: http://www.cnblogs.com/anding/p/4993655.html
- 2016 Multi-University Training Contest 10 || hdu 5860 Death Sequence(递推+单线约瑟夫问题)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5860 题目大意:给你n个人排成一列编号,每次杀第一个人第i×k+1个人一直杀到没的杀.然后 ...
- 毕业设计 python opencv实现车牌识别 界面
主要代码参考https://blog.csdn.net/wzh191920/article/details/79589506 GitHub:https://github.com/yinghualuow ...