首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将RenderTargetBitmap转换为位图

将RenderTargetBitmap转换为位图
EN

Stack Overflow用户
提问于 2013-11-20 06:16:13
回答 1查看 16.9K关注 0票数 7

这看起来像是dup问题,但没有人回答实际的问题。

这里:基本上,我在代码中将ViewPort3D呈现为2D快照,但需要将该类型RenderTargetBitmap转换为System.Drawing.Bitmap类型(以便在2D端进行进一步处理)。

代码语言:javascript
复制
Dim bmpRen As New RenderTargetBitmap(1024, 550, 96, 96, PixelFormats.Pbgra32)
bmpRen.Render(Me.vp3dTiles) 'render the viewport as 2D snapshot

虽然我知道如何将其保存到文件中,但我宁愿跳过这一步,将bmpRen转换为System.Drawing.Bitmap类型,但没有这样做的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-20 06:37:41

RenderedTargetBitmap是一个BitmapSource,所以BmpBitmapEncoder可以为我们进行转换:

这是在C#中实现的,但它应该可以顺利地转换到VB中。

代码语言:javascript
复制
RenderTargetBitmap bmpRen = new RenderTargetBitmap(1024, 550, 96, 96, PixelFormats.Pbgra32);
bmpRen.Render(vp3dTiles);

MemoryStream stream = new MemoryStream();
BitmapEncoder encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bmpRen));
encoder.Save(stream);

Bitmap bitmap = new Bitmap(stream);
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20083210

复制
相关文章

相似问题

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