相关疑难解决方法(0)

如何使用XNA绘制线条?

我已经阅读了一些涉及XNA的教程(以及它的各种版本),我仍然对绘制基元有点困惑.一切似乎都很复杂.

有人可以使用代码向我展示最简单的XNA实现,即在屏幕上绘制一行或两行吗?也许有一个简短的解释(包括样板)?

我不是游戏程序员,我有很少的XNA经验.我的最终目标是在屏幕上绘制一些线条,我最终将通过旋转等方式(手动)进行转换.然而,对于这第一步......我需要简单画线!我记得在我古老的OpenGL时代,当用一些方法调用绘制一条线时,它是相当简单的.我应该简单地恢复使用非托管Directx呼叫吗?

primitive xna drawing lines shapes

45
推荐指数
4
解决办法
6万
查看次数

有没有从XNA中的Bitmap对象创建Texture2D的快速替代方法?

我已经环顾了很多,我发现从Bitmap创建Texture2D的唯一方法是:

using  (MemoryStream s = new  MemoryStream())
{
   bmp.Save(s, System.Drawing.Imaging.ImageFormat.Png);
   s.Seek(0, SeekOrigin.Begin);
   Texture2D tx = Texture2D.FromFile(device, s);
}
Run Code Online (Sandbox Code Playgroud)

Texture2D tx = new Texture2D(device, bmp.Width, bmp.Height,
                        0, TextureUsage.None, SurfaceFormat.Color);
tx.SetData<byte>(rgbValues, 0, rgbValues.Length, SetDataOptions.NoOverwrite);
Run Code Online (Sandbox Code Playgroud)

其中rgbValues是一个字节数组,包含32位ARGB格式的位图像素数据.

我的问题是,我可以尝试更快的方法吗?

我正在编写一个地图编辑器,它必须读取自定义格式图像(地图图块)并将它们转换为Texture2D纹理才能显示.以前版本的编辑器是一个C++实现,它首先将图像转换为位图,然后转换为使用DirectX绘制的纹理.我在这里尝试了相同的方法,但是上述两种方法都非常慢.要加载到内存中,映射所需的所有纹理都需要第一个方法~250秒,而第二个方法在合理的规格计算机上需要110秒(为了比较,C++代码需要大约5秒钟).如果有一种方法可以直接编辑纹理数据(例如使用Bitmap类'

任何帮助将非常感谢.

谢谢

c# xna bitmap texture2d

9
推荐指数
2
解决办法
1万
查看次数

获取圆内的所有像素阵列

我有这个:

在此输入图像描述

我需要知道圆圈内的所有像素.

谢谢.

xna

9
推荐指数
1
解决办法
5075
查看次数

标签 统计

xna ×3

bitmap ×1

c# ×1

drawing ×1

lines ×1

primitive ×1

shapes ×1

texture2d ×1