gpt4 book ai didi

C# 等同于 Java 的 java.awt.image.DataBuffer

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:38 26 4
gpt4 key购买 nike

这是我的 Java 代码:

import java.awt.image.DataBuffer;

public class B extends DataBuffer
{
public float[][] a;
public float[] b;

public float[] a()
{
return this.b;
}
}

问题简单明了。 java.awt.image.DataBuffer 的 C# 等价物是什么?

或者我是否需要备份一级并找到与 java.awt.image 等效的内容?

TIA,

基思

最佳答案

听起来您正在尝试进行某种图像处理。您似乎需要直接访问位图的像素数据,因为方法调用太慢了。

.NET 提供 Bitmap.LockBits以此目的。这是您如何使用它的示例:

var bmp = new Bitmap(width, height, PixelFormat.Format32bppArgb);
unsafe
{
var data = bmp.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
for (int y = 0; y < height; y++)
{
var b = (byte*) data.Scan0 + y * data.Stride;
for (int x = 0; x < width; x++)
{
var blue = b[4 * x];
var green = b[4 * x + 1];
var red = b[4 * x + 2];
var alpha = b[4 * x + 3];

// ... do whatever you want with these values ...
}
}
bmp.UnlockBits(data);
}
return bmp;

为了使用它,您需要在您的项目中启用不安全代码。在项目属性中的“构建”选项卡上,启用选项允许不安全代码

关于C# 等同于 Java 的 java.awt.image.DataBuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4951636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com