我已经创建了绘制到SharpDX.Direct2D1.BitmapRenderTarget所需的所有内容。
我可以使用目标.bitmap属性访问位图本身。
我现在的问题是,如何使用另一个WicRenderTarget绘制这个位图?
类似于:
var wicFactory = new ImagingFactory();
var d2dFactory = new SharpDX.Direct2D1.Factory();
var wicBitmap = new Bitmap(wicFactory, width, height, SharpDX.WIC.PixelFormat.Format32bppBGR, BitmapCreateCacheOption.CacheOnLoad);
var d2dRenderTarget = new WicRenderTarget(d2dFactory, wicBitmap, renderTargetProperties);
d2dRenderTarget.BeginDraw();
d2dRenderTarget.Clear(SharpDX.Color.Black);
d2dRenderTarget.FillGeometry(rectangleGeometry, solidColorBrush, null);
d2dRenderTarget.DrawBitmap(MY BITMAPRENDERTARGET.BITMAP_FROM OTHER D2D FACTORY);
d2dRenderTarget.EndDraw();但是这会在EndDraw()中抛出一个“EndDraw”异常。
我怎样才能实现我想要做的事?
我使用以下链接中的代码来创建WIC输出所需的所有内容:https://github.com/sharpdx/SharpDX/blob/master/Samples/Direct2D1/RenderToWicApp/Program.cs
我不想写几何学,我想要写我的位映射目标位图。
发布于 2014-01-22 18:24:27
您无法绘制由另一个D2D工厂创建的位图。用你的工厂创建它。如果您无法控制其他位图的创建方式,请通过GetFactory方法获取它的工厂,并使用它来创建对象。
有关在呈现目标或工厂中可以共享的内容的更多信息,请参见资源概览。
https://stackoverflow.com/questions/21284990
复制相似问题