我在使用 SharpDX 时遇到问题。我转换位图,使用 lockBits 方法锁定位,然后创建一个 DataStream 并从中构建一个 Texture2D。这似乎工作得很好,没有发生错误。现在我有以下问题。我想将 Texture2D 转换回位图。有一种名为 Texture2D.ToStream(size, texture2D, stream) 的方法,但是当我尝试这样做时,只会发生错误。谁能帮我解决这个问题?转换为 Image 或 WriteableBitmap 也可以。
问问题
2412 次
1 回答
-1
我找到了一个解决方案:
var inputTex2D = Texture2D.FromStream<Texture2D>(device, inputMemoryStream, (int)inputMemoryStream.Length, new ImageLoadInformation()
{
Depth = 1,
FirstMipLevel = 0,
MipLevels = 0,
Usage = ResourceUsage.Default,
BindFlags = BindFlags.ShaderResource,
CpuAccessFlags = CpuAccessFlags.None,
OptionFlags = ResourceOptionFlags.None,
Format = Format.R8G8B8A8_UNorm,
Filter = FilterFlags.None,
MipFilter = FilterFlags.None,
});
我的 DirectX 版本是 11.0
于 2012-11-07T18:26:04.270 回答