首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为IWicBitmap创建wic位图呈现目标

为IWicBitmap创建wic位图呈现目标
EN

Stack Overflow用户
提问于 2014-09-03 19:01:28
回答 1查看 1.7K关注 0票数 1

我已经使用内存中的数据创建了一个IWicBitmap

代码语言:javascript
复制
hr=pFactory->CreateBitmapFromMemory(512,512,GUID_WICPixelFormat8bppGray,512,512*512,ptr,&Bitmap1)

现在我想在位图上绘图,所以我创建了bitmaprendertarget。

代码语言:javascript
复制
hr= m_pDirect2dFactory->CreateWicBitmapRenderTarget(Bitmap1,props,&target);

但它不会形成目标--它会返回一个错误:

代码语言:javascript
复制
-2003292288

我不知道如何解决这个问题,我还设置了属性。

代码语言:javascript
复制
D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties();
props.minLevel = D2D1_FEATURE_LEVEL_DEFAULT;
D2D1_PIXEL_FORMAT pixelFormat = D2D1::PixelFormat(DXGI_FORMAT_UNKNOWN,D2D1_ALPHA_MODE_IGNORE);
props.pixelFormat=pixelFormat;
EN

回答 1

Stack Overflow用户

发布于 2015-06-05 22:51:02

我自己也犯了这个错误。错误代码-2003292288实际上是WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT (0x88982F80)。CreateWicBitmapRenderTarget方法不接受所有WIC的像素格式。

我在Windows7和8.1机器上的实验表明,该方法似乎接受以下WIC像素格式(如您所见,没有灰色格式):

代码语言:javascript
复制
8bpp Alpha (GUID_WICPixelFormat8bppAlpha)
 Guid: e6cd0116-eeba-4161-aa85-27dd9fb3a895
 Bits Per Pixel: 8
 Supports Transparency: True
 Numeric Representation: UnsignedInteger
 Channel Count: 1

32bpp BGR (GUID_WICPixelFormat32bppBGR)
 Guid: 6fddc324-4e03-4bfe-b185-3d77768dc90e
 Bits Per Pixel: 32
 Supports Transparency: False
 Numeric Representation: UnsignedInteger
 Channel Count: 3

32bpp RGB (GUID_WICPixelFormat32bppRGB)
 (Requires Windows 8 or Windows 7 with Platform Update)
 Guid: d98c6b95-3efe-47d6-bb25-eb1748ab0cf1
 Bits Per Pixel: 32
 Supports Transparency: False
 Numeric Representation: UnsignedInteger
 Channel Count: 3

32bpp pBGRA (GUID_WICPixelFormat32bppPBGRA)
 Guid: 6fddc324-4e03-4bfe-b185-3d77768dc910
 Bits Per Pixel: 32
 Supports Transparency: True
 Numeric Representation: UnsignedInteger
 Channel Count: 4

32bpp pRGBA (GUID_WICPixelFormat32bppPRGBA)
 Guid: 3cc4a650-a527-4d37-a916-3142c7ebedba
 Bits Per Pixel: 32
 Supports Transparency: True
 Numeric Representation: UnsignedInteger
 Channel Count: 4

64bpp RGB (GUID_WICPixelFormat64bppRGB)
 Guid: a1182111-186d-4d42-bc6a-9c8303a8dff9
 Bits Per Pixel: 64
 Supports Transparency: False
 Numeric Representation: UnsignedInteger
 Channel Count: 3

64bpp pRGBA (GUID_WICPixelFormat64bppPRGBA)
 Guid: 6fddc324-4e03-4bfe-b185-3d77768dc917
 Bits Per Pixel: 64
 Supports Transparency: True
 Numeric Representation: UnsignedInteger
 Channel Count: 4

64bpp pRGBA half (GUID_WICPixelFormat64bppPRGBAHalf)
 Guid: 58ad26c2-c623-4d9d-b320-387e49f8c442
 Bits Per Pixel: 64
 Supports Transparency: True
 Numeric Representation: Float
 Channel Count: 4

64bpp RGB half (GUID_WICPixelFormat64bppRGBHalf)
 Guid: 6fddc324-4e03-4bfe-b185-3d77768dc942
 Bits Per Pixel: 64
 Supports Transparency: False
 Numeric Representation: Float
 Channel Count: 3

128bpp pRGBA float (GUID_WICPixelFormat128bppPRGBAFloat)
 Guid: 6fddc324-4e03-4bfe-b185-3d77768dc91a
 Bits Per Pixel: 128
 Supports Transparency: True
 Numeric Representation: Float
 Channel Count: 4

128bpp RGB float (GUID_WICPixelFormat128bppRGBFloat)
 Guid: 6fddc324-4e03-4bfe-b185-3d77768dc91b
 Bits Per Pixel: 128
 Supports Transparency: False
 Numeric Representation: Float
 Channel Count: 3
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25642634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档