位图作为指针

发布于 2024-11-08 01:18:45 字数 327 浏览 0 评论 0原文

您好,我有一个位图,它以表单的形式显示在文件中;

Bitmap btm = new Bitmap("F:\\Image.bmp");

我在一个类中有一个方法,它接受这个 btm 并执行一些处理并返回我需要的是将这个 btm 作为 传递给类中的这个函数>内存指针并返回其地址,

我不确定此进程是否能够像其他基于C的语言C/C++<一样C# /代码>

Hi i have a Bitmap which is showing in a file in a form;

Bitmap btm = new Bitmap("F:\\Image.bmp");

i have a method in a class which take this btm and do some process and return back what i need is to pass this btm to this function in the class as a memory pointer and return its address

im not sure that will this process is able to do it C# as other C based languages C/C++

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

萌吟 2024-11-15 01:18:45

如果您正在寻找指向像素数据的内存指针,请在不安全的块中使用 Bitmap.LockBits() 。它返回一个 BitmapData 对象,其中包含有关位图和地址的信息。

有关详细信息,请参阅这篇 msdn 文章

编辑:只是想指出,如果您想更改像素数据,那么您可以使用 SetPixel 方法,这样您就不必“变得不安全”。但是,如果您希望一次操作多个像素,那么在内存中修改它们确实可以提供更好的性能。

希望有帮助。

干杯!

if you are looking for a memory pointer to the pixel data then use Bitmap.LockBits() in an unsafe block. it returns a BitmapData object that contains info about the bitmap and the address.

take a look at this msdn article for more info.

EDIT: Would just like to note that if you would like to change pixel data then you could use the SetPixel method so you don't have to 'go unsafe'. But if you are looking at manipulating many pixels at a time then modifying them in memory does give better performance.

Hope that helps.

Cheers!

跨年 2024-11-15 01:18:45

您可以在 C# 中使用委托来代替函数指针。

这些链接可能会帮助您理解这个概念:

c# 中有函数指针吗?

C# 中的函数指针

You can use delegates in C# in place of function pointers.

These links may help you understand the concept:

are there function pointers in c#?

Function pointers in C#

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文