c# XNA渲染一个2D bool数组的给定部分,表示一个2色图像到窗口

本文关键字:一个 表示 2色 窗口 定部 图像 bool XNA 2D 数组 | 更新日期: 2023-09-27 18:12:06

首先,我的逻辑是这个数组将占用多少空间正确吗?

bool[,] b = new bool[8192 /* 8 * 1024 = 1KB */, 20]; // 20KB

我希望渲染一个2D数组的给定部分到窗口。该数组由bool组成,表示一个2色图像。图像应该占据整个窗口,每个像素应该是清晰的像素化的,而不是像素中心之间有插值梯度。

例如(不会有比这更多的封装):

draw(bool[,] b,
float top_left_x, float top_left_y, float width, float height,
float false_red, float false_green, float false_blue,
float true_red, float true_green, float true_blue)
{
    // what goes here?
}

c#'XNA中有什么东西可以有效地做到这一点吗?

c# XNA渲染一个2D bool数组的给定部分,表示一个2色图像到窗口

你可以在这里做同样的事情:如何在XNA中逐像素绘制2D ?

你唯一要做的就是检查哪种颜色会进入你的纹理,如果它是真或假

你可以创建一个新的Texture2D,然后使用SetData函数和一个颜色数组。我还没有测试过,但是应该可以。