- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 WIC (Windows Imaging Component) 来解码图像文件并访问像素数据。我试图找出像素顺序(即自下而上或自上而下)。
我用 IWICImagingFactory::CreateDecoderFromFileName
创建解码器,我从中获取(第一)帧(IWICBitmapFrameDecode
)。对于框架,我使用 GetPixelFormat
和 GetSize
计算缓冲区大小,最后我使用 CopyPixels
将解码的像素数据放入我的缓冲区。
这适用于各种 JPEG 文件,以自上而下的顺序为我提供像素行,并且像素按 BGRX 顺序 (GUID_WICPixelFormat32bppBGR
)。
但是,当我尝试使用 GIF 文件时,像素行是自下而上的。报告的像素格式为 RGBA (GUID_WICPixelFormat32bppRGBA
),但基本事实显示 channel 顺序为 BGRA(每个 32 位像素的低字节为蓝色,就像 JPEG 一样)。
我的主要问题:有没有办法查询像素数据的自上而下/自下而上的方向?
我发现了一个类似的问题,询问使用 JPEG 源时的旋转,答案是查询 EXIF 数据以了解图像是否旋转。但 EXIF 不与 GIF 一起使用。所以我想知道我是否应该假设像素总是自下而上的,除了那些确实有 EXIF 方向的像素。 2020 年 6 月 25 日更新 不,JPEG 方向是中性的,GIF 没有方向信息,但 MS Paint 和其他程序可以以正确的方向打开文件。
我的第二个问题:GIF 解码器的 channel 顺序 (RGB/BGR) 不正确是怎么回事?
不仅如此,WIC 文档还说 GIF decoder should return indexes进入颜色表 (GUID_WICPixelFormat8bppIndexed
) 而不是实际的像素值。是否有可能我的机器上的某些软件安装了自己的错误 GIF 解码器,取代了 Windows 10 附带的那个?
最佳答案
要查询支持它的格式的照片方向,您应该使用 System.Photo.Orientation使用 IWICMetadataQueryReader 的照片元数据策略(或文件格式特定元数据查询路径之一)界面。
至于GetPixelFormat()报告“不正确”的像素格式,它就在 中备注 部分:
The pixel format returned by this method is not necessarily the pixel format the image is stored as. The codec may perform a format conversion from the storage pixel format to an output pixel format.
CopyPixels()
而是在转换器上。
关于c++ - 如何从 WIC 解码器确定自上而下/自下而上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62541502/
我在 OSX 10.10 上使用 XCode 6.1.1 我有一个以下 cocoa 窗口 我无法仅使用 IB 制作垂直自上而下的 slider 。 (B View 中的第二个 slider ) 如示例
我目前正在类里面学习自上而下的 C 编程,但不知何故我无法真正掌握它的窍门。 我一直在尝试通过这个编程练习来学习它,你必须根据某人的到达时间(以及以公里/小时为单位的速度和以公里为单位的距离)来计算某
元素的合并排序过程步骤是什么:20 47 15 8 9 4 40 30 12 17 我遇到过这个...... Pass1: |20 47| |8 15| |4 9| |30 40| |12 17| P
问题 - 给定一个长度为 N 的整数数组 A,找到先递增后递减的最长子序列的长度。输入:[1, 11, 2, 10, 4, 5, 2, 1] 输出:6 解释:[1 2 10 4 2 1]是最长的子序列
我是来自 2D SpriteKit 的 SceneKit 新手,并试图弄清楚如何调整相机,使其面朝下位于世界顶部。我的位置部分是正确的,但是在旋转时我遇到了困难。如果我调整X,是or Zaxis, n
这是我的笨蛋吗?的一天。以下代码不会按顺序运行(如从上到下),它从顶部跳到底部然后运行中间。另一方面,如果我放一个 Console.WriteLine(); 它将自上而下运行。和 Console.Re
昨天 我正在玩 CoordinatorLayout 和 TabView 1) 我的目标是什么? CoordinatorLayout 和 TabView 当我向上滚动时一个 View 如.GIF所示 向
我正在查看 this example它使用簇布局将 X 和 Y 坐标分配给树状图上的节点。我怎么知道cluster垂直布局,自上而下,而不是默认的从左到右? 最佳答案 对于example你链接,只是翻
我有一个 Kendo UI 图表,在 3 个不同的值轴上显示 3 个系列的数据。 “广告位置”值轴是反向的,1 是可能的最高值(根据图像)。 如您所见,这会导致“广告位置”系列“自上而下”呈现。 有谁
注意:我并不是要将 3D 对象投影到 2D 相机 View 图像(对此有很多答案)。 它甚至比这更简单:我有一个 3D 模型,比如说,一条街道。我想把它变成街道 map 。所以这是一个简单的自上而下/
我正在尝试使用谷歌浏览器的 Trace Event Profiling Tool分析我正在运行的 Node.js 应用程序。选择点样本后,我可以在三种 View 之间进行选择: 自上而下(树) 自上而
我正在自动化我们通常每月在 Word 中手动输入一次的报告,它的目标用户要求它总是看起来完全符合他们指定的方式 - 它需要有两个内容列,像 MS Word/a 一样换行报纸 - 第一栏的结尾换行到第二
我是一名优秀的程序员,十分优秀!