在 C# 中将像素数组转换为图像

2023-12-08

我有一个数组int我的 C# 程序中存在像素,我想将其转换为图像。问题是我正在将程序的 Java 源代码转换为等效的 C# 代码。在java中,该行读取将int像素数组显示到图像中:

Image output = createImage(new MemoryImageSource(width, height, orig, 0, width));

有人可以告诉我 C# 的等效项吗?

这里 orig 是数组int像素。我搜索了 Bitmap 类,有一个方法叫做SetPixel但问题是它需要一个 x,y 坐标号。但我的代码中有一个数组int像素。另一个奇怪的事情是我的原始数组有负数,而且它们距离 255 很远。在 Java 中也是同样的情况(意味着 C# 和 Java 中的数组具有相同的值),并且这些值在 Java 中工作正常。

但我无法将该行翻译成 C#。请帮忙。


使用 WPF,您可以直接从数组创建位图(图像)。然后,您可以对该图像进行编码或显示它或使用它:

int width = 200;
int height = 200;

//
// Here is the pixel format of your data, set it to the proper value for your data
//
PixelFormat pf = PixelFormats.Bgr32;
int rawStride = (width * pf.BitsPerPixel + 7) / 8;

//
// Here is your raw data
//
int[] rawImage = new int[rawStride * height / 4];


//
// Create the BitmapSource
//
BitmapSource bitmap = BitmapSource.Create(
    width, height,
    96, 96, pf, null,
    rawImage, rawStride);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中将像素数组转换为图像 的相关文章

随机推荐

  • iOS HTML5 Canvas toDataURL

    我需要一些帮助 我们似乎在 iOS 上遇到了有关通过 HTML 5 Canvas 获取图像的 base64 的问题 如果我们使用画布的默认高度 宽度或对高度和宽度进行硬编码 一切都会正常工作 但是 如果我们将画布高度 宽度设置为图像 src
  • KSQL 表-表左外连接多次发出相同的连接结果

    使用 KSQL 并执行左外连接 我可以看到有时多次发出的连接结果 换句话说 相同的连接结果会被多次发出 我不是在谈论右侧具有空值的联接版本和不具有空值的版本 从字面上看 连接产生的同一条记录会被多次发出 我想知道这是否是预期的行为 一般答案
  • 如何在 Flutter 中嵌套 StreamBuilder?

    我有 2 个流 需要组合起来构建一个小部件 但与我见过的其他问题不同 我需要嵌套流 我有一个从 Firestore 获取文档集合的流 以及一个依赖于第一个文档的数据来获取文档子集合的流 我想将它们组合成一个流 但它们需要嵌套 因为每个文档都
  • 通过传递引用或返回引用来初始化结构是更好的方式吗?

    假设我有以下内容 typedef struct int x int y char a char b myStruct 创建一个新的更好的做法吗 myStruct通过传递对空函数的引用或返回一个函数来使用函数myStruct来自函数 void
  • 正则表达式在特定位置添加空格

    我有一个 14 位长的号码 需要将其拆分成以下格式 xxx xxx xxx xxxxx 我有一个正则表达式 它从末尾开始分割每 3 个字符 因为前瞻 d 3 d 这给了我 xx xxx xxx xxx xxx 我尝试在 regex101 c
  • 在 R 的行组中向前和向后进行最后一个因子观察

    假设我的数据集看起来像 ID Name 1 JAY 1 1 JAY 2 LAY 2 LAY 2 3 NA 3 KAY 3 我想根据组中已有的观察结果用缺失值 空或 NA 填充行 所以结果数据框看起来像 ID Name 1 JAY 1 JAY
  • 无法移出定义“Drop”特征的类型 [E0509]

    我使用以下 Rust 代码Rust Postgres打算在我的结构超出范围后提交事务 struct SqlTransaction lt a gt connection a Connection transaction Transaction
  • 使用 OpenGL 进行快速调色板屏幕块传输

    游戏使用软件渲染在内存中绘制全屏调色板 8 位 图像 使用 OpenGL 将图像显示在屏幕上的最快方法是什么 我尝试过的事情 glDrawPixels with glPixelMap指定调色板 并让 OpenGL 进行调色板映射 性能非常糟
  • HttpRuntime.Cache 在哪里存储数据?

    我正在尝试实现一个具有缓存功能的 Web 应用程序 我需要缓存的原因是我们有一个允许用户访问在线课程的应用程序 现在 一旦用户登录 我就会根据我们的数据库对其进行验证 一旦验证 我想将用户 ID 和课程 ID 在缓存中存储 20 分钟 这样
  • Safari XHR 上传卡住(有时)

    我使用构建上传脚本jquery 文件上传 现在我有一个奇怪的行为 上传时不时地卡住 假设每八次 这只发生在 Safari 5 0 5 中 其他浏览器工作正常 我可以确认这与服务器无关 该问题发生在执行任何服务器脚本之前 有时上传卡在 2 有
  • 来自命令行的 Sublime Text

    我安装了 Sublime Text 并想知道如何打开rb从终端获取其中的文件 我看见让 Sublime Text 成为我的核心编辑器的命令是什么 我发现我可以将 Sublime 作为我的核心编辑器 但我希望能够输入 sublime file
  • 在Python中存储布尔值以节省内存的最佳方法

    在字典 如由长数字索引的集合 中存储一百万到 450 000 个布尔值的最佳方法是什么 我需要使用尽可能少的内存 True 和 Int 每个条目都占用超过 22 个字节 每个布尔值的内存是否可能较低 Check 这个问题 Bitarray似
  • 将子文件夹重定向到根目录并将其隐藏在 url 中

    我已经成功地从目录中 重新设置 根目录 以便将公共文件与配置 帮助程序和控制器分开 这要归功于这个答案 and 这个答案 但是我意识到如果用户输入http domain com public它不会重定向到http domain com这对
  • 当 float 指针类型转换为 char 指针时会发生什么?

    int main float f 12 2 char p1 p1 char f printf d p1 输出 51 You can cast a float to a char 很好 就是using这样的野兽可能会有问题 当您取消引用它时
  • Struts 2 中的下拉菜单

    我有一张带有键值对的地图 我想在下拉列表中显示键 并将值发送到服务器以识别所选内容 我使用的是Struts2 我尝试把Map in
  • 使用过滤器更改 UITextView 链接的颜色?

    UITextView 上检测到的链接始终为蓝色 没有办法直接改变这一点 但是我可以叠加某种将蓝色变为红色的滤镜吗 实际上有一种方法可以做到这一点使用私有 API A UITextView有一个 单个 类子视图UIWebDocumentVie
  • 如何比较两个 char[] 数组是否相等?

    现在我有两个char数组 foo1 and foo2 当我将它们转换为字符串并输出到控制台时 它们都显示为bar 我知道我可以做这样的事情 int g for int i 0 i
  • 如何添加到 ASP.NET HttpRequest 客户端可用的密码套件?

    当我的 ASP NET 网站在 Windows 7 机器上运行时 它可以很好地连接 以编程方式作为 客户端 到另一台 Windows 7 计算机上的 SSL 加密服务 服务器 但如果我的网站位于生产环境 Windows Server 200
  • htaccess和重写

    我刚刚在我的网站上创建了一个子域 主要是因为我想要一个特定的地址 可以说我的网站是 http website com我的子域是http sub website com其主文件夹位于 home username public html sub
  • 在 C# 中将像素数组转换为图像

    我有一个数组int我的 C 程序中存在像素 我想将其转换为图像 问题是我正在将程序的 Java 源代码转换为等效的 C 代码 在java中 该行读取将int像素数组显示到图像中 Image output createImage new Me