问题标签 [wic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - WIC Direct2D CreateBitmapFromMemory:宽度和高度的限制?
CreateBitmapFromMemory 在_nWidth等于或小于 644时执行成功。 如果该值超过此值,则 HRESULT 值为 -2003292276
宽度和高度是否存在限制?
如果 nWidth 超过 644,则 CreateBitmapFromMemory 返回错误。
c++ - WIC WINCODEC_ERR_BADHEADER 仅适用于 JPEG 图像
我有一个使用 Windows Imaging Component API 的简单编码/解码应用程序。我遇到的问题是,当我使用 JPEGXR 或 BMP 格式时,一切正常。但是,当我使用 JPEG 编解码器时 - 编码器工作正常,我可以直观地验证生成的 JPEG 图像,但是当我尝试解码该流时,我得到一个 WINCODEC_ERR_BADHEADER (0x88982f61)
这是失败的行:
这里 pInputStream 是从字节数组(编码器的输出 - 输出字节向量的黑盒)创建的 IStream。
请帮忙!这让我发疯!
.net - 设置找不到 update.inf 文件
我需要在 .net 平台上安装一个需要 .net 框架 4 的软件构建。实际上我的问题是我有一台新笔记本电脑,我需要安装一个 .net 框架,但是在安装时它会出现错误,如我上传的图像所示. 于是我搜索了谷歌,发现需要安装WIC(Windows Imaging Component)。但是当我安装它时,它给出了设置找不到update.inf
文件需要更新系统的错误。那么可能的错误是我无法在我的笔记本电脑中安装这些组件。有关信息,我的笔记本电脑有 Windows 7 32 位操作系统。
.net - Image CLI 类的正确包括
我找不到我使用 CLI 的那个 Image^ 类的正确命名空间。它来自该站点的http://msdn.microsoft.com/en-us/library/aa970689.aspx 。问题是微软没有公布我想导入的内容,所以我什至不知道他们在想什么课。
我想添加什么来使这项工作(图像类)?
directx - DirectX11 CreateWICTextureFromMemory 使用 PNG
我目前已经使用 CreateWICTextureFromFile 加载了纹理,但是我想对其进行更多控制,并且我想将图像以字节形式存储在资源加载器中。下面只是两组测试代码,它们返回两个单独的结果,我正在寻找对可能解决方案的任何见解。
作为上述代码的返回,我得到 Component not found。
上面的代码返回图像格式未知。
我显然在这里做错了什么,非常感谢任何帮助。试图在stackoverflow上找到任何类似的东西,谷歌无济于事。
c++ - 如何使用 WIC API 读取/写入自定义 EXIF 数据?
我浏览了以下文档:http: //msdn.microsoft.com/en-us/library/windows/desktop/ee719799 (v=vs.85).aspx
作为上下文,我正在尝试以 JPEG-XR 格式进行编码,并且我想模拟 GDI+ 的SetPropertyItem
功能GetPropertyItem
。
我基本上有3个问题:
- 如果我想向 exif 标头添加自定义属性,正确的查询路径是什么?
- 我可以使用自定义 ID
{ushort=1111}
来识别它吗?如何验证 ID 是否已定义? - 这是否与
id
GdiPlus::PropertyItem 的字段相同?
例如,以下是否有效:
此代码块成功,但是当我尝试使用以下方法读回相同的元数据时:
这将返回 E_INVALIDARG 错误。
我很感激能帮助我理解它是如何工作的。我觉得我没有正确理解文档。
谢谢你。
c++ - 如何使用 WIC 将 ID2D1Bitmap 保存到文件中?
我在将位图保存到文件时遇到问题。我正在使用如何将 ID2D1Bitmap 保存到 PNG 文件作为参考,但我的错误与其中发布的错误不同。
我收到错误 0x88990015 HRESULT,这意味着:使用的资源是由不同资源域中的渲染目标创建的。
这是我的代码:
我知道您不能将另一家工厂生产的资源用于另一家工厂,但必须有一种方法可以使这项工作发挥作用。
delphi - 如何在 Delphi 中使用 WIC 创建无损 jpg
我有以下代码使用默认选项从 IWICBitmapSource 创建 jpg 文件:
我想更改编解码器选项以生成无损 jpg。据我了解我在 MSDN 中阅读的内容,我必须使用 IPropertyBag2 来实现这一点。尽管不知道如何做,我尝试在 Frame 创建和 Frame 初始化之间插入这段代码:
它不起作用:hr = 0x88982F8E (WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE)。MSDN在这里说“ImageQuality”属性的类型是 VT_R4,但由于我以前从未使用过 Variant,所以我不知道如何编写。而且我什至不确定压缩是否确实是无损的。
我如何修改我的代码以使其生成质量为 1.0 的 jpg,并且它会是无损的吗?
direct2d - 如何将 ID2D1RenderTarget 的内容保存到文件中
我有一个将 Direct2D 内容绘制到 ID2D1RenderTarget 的现有组件,我想将该绘图保存到图像文件中。这里、这里和这里的问题虽然对我有所帮助,但并没有提供一个明确的答案来说明如何去做。
我的第一个想法是尝试官方的MSDN 方法。不幸的是,它在 Win7 中不可用。
我的第一个想法是修改绘图例程,使其接受 RenderTarget 作为参数并使用 ID2D1Factory::CreateWicBitmapRenderTarget 直接绘制到 IWICBitmap 中,但结果对我来说非常困难(因为需要修改不是只有绘图例程本身,还有该组件的所有用户的绘图回调(用 Delphi 编写的代码使用 Embarcadero 的TDirect2DCanvas,因此不需要管理所有 Direct2D 资源,如渲染目标或画笔)。
我的第二个想法是创建一个 ID2D1Bitmap,用已经使用 ID2D1Bitmap::CopyFromRenderTarget 绘制的内容填充它,然后将该 ID2D1Bitmap 绘制到 WicBitmapRenderTarget(这是关于这里所做的)。我和那些问我链接到的问题的人遇到了同样的问题:不同的资源亲和力,正如Kenny Kerr 简要解释的那样。
那么在Win7下是否可以不用实现我的第一个想法,你会怎么做呢?
c++ - 从 HBITMAP 转换为 IWICBitmap
我正在尝试将 HBITMAP 转换为 IWICBitmap,但遇到了很多麻烦。我找到了这个功能:
但我无法让它工作。这是我使用它的方式:
在函数中执行最后一行代码会导致访问冲突错误。
在调用这个GrabAsyncFrame()
函数之前,我创建了它需要的参数,如下所示:
我有点怀疑将 pWicFactory 设置为 NULL,然后很快就使用它。但我想不出任何其他方法来初始化 IWICImagingFactory 对象。
所以我的问题是: 下面发布了新问题。
编辑:如果我尝试使用new
初始化 pWicFactory,我会收到一条消息说
错误:不允许抽象类类型“IWICImagingFactory”的对象。
编辑2:
在确认将 pWicFactory 设置为 NULL 是问题后,我现在需要知道如何正确初始化 IWICImagingFactory 对象指针。这就是我现在正在使用的:
问题: 如何正确初始化 IWICImagingFactory 对象指针?