C# 作为指针的位图
嗨,我有一个位图,它以C# 作为指针的位图,c#,image,bitmap,C#,Image,Bitmap,嗨,我有一个位图,它以格式显示在文件中 Bitmap btm = new Bitmap("F:\\Image.bmp"); 我在一个类中有一个方法,它接受这个btm并进行一些处理,然后返回我需要的是将这个btm作为内存指针传递给类中的这个函数,并返回它的地址 我不确定这个过程是否能够像其他基于C的语言那样C++使用C中的委托来代替函数指针 这些链接可能有助于您理解该概念: 您可以使用C#中的委托代替函数指针 这些链接可能有助于您理解该概念: 如果要查找指向像素数据的内存指针,请在不安全的块
格式显示在文件中
Bitmap btm = new Bitmap("F:\\Image.bmp");
我在一个类中有一个方法,它接受这个btm
并进行一些处理,然后返回我需要的是将这个btm
作为内存指针传递给类中的这个函数,并返回它的地址
我不确定这个过程是否能够像其他基于C
的语言那样C++使用C中的委托来代替函数指针
这些链接可能有助于您理解该概念:
您可以使用C#中的委托代替函数指针
这些链接可能有助于您理解该概念:
如果要查找指向像素数据的内存指针,请在不安全的块中使用Bitmap.LockBits()。它返回一个BitmapData对象,该对象包含有关位图和地址的信息
查看更多信息
编辑:我只想指出,如果您想更改像素数据,那么您可以使用SetPixel方法,这样您就不必“变得不安全”。但是,如果您希望一次处理多个像素,那么在内存中修改它们确实会提供更好的性能
希望有帮助
干杯 如果要查找指向像素数据的内存指针,请在不安全的块中使用Bitmap.LockBits()。它返回一个BitmapData对象,该对象包含有关位图和地址的信息
查看更多信息
编辑:我只想指出,如果您想更改像素数据,那么您可以使用SetPixel方法,这样您就不必“变得不安全”。但是,如果您希望一次处理多个像素,那么在内存中修改它们确实会提供更好的性能
希望有帮助
干杯 我计划在getpixel
和setpixel
上使用这种方法,我可以像在R8之前一样使用它们?我还没有尝试在位图被锁定时调用setpixel-我不确定结果会是什么。如果您已经锁定了它,还不如直接修改它。如果必须的话,我建议在锁定位图之前或解锁位图之后调用setpixel。我计划在getpixel
和setpixel
上使用这种方法,我可以像在R8之前那样使用它们?我还没有尝试在位图锁定时调用setpixel-我不确定结果会是什么。如果您已经锁定了它,还不如直接修改它。如果必须,我建议在锁定位图之前或解锁位图之后调用setpixel。