c#.NET-使用锁定位提取原始像素数据
我正在制作一个程序来自动对图像进行某些编辑 其中一个功能是将“白色”像素转换为“白色”透明像素。起初,一切都很好 我已成功地将24bppRGB图像转换为32bppRGB图像,所需像素全部透明 图像加载到picturebox中,保存后即可打开 当我试图重新编辑文件时,问题出现了。当我再次尝试提取原始像素数据时,什么也没有得到。据我所知,整个像素数据阵列是0 为什么会这样 ^这是我的主要问题。 除了这个问题,我还注意到了这个程序的一些怪癖,这些都是出于好奇: 这两者之间的区别是什么:c#.NET-使用锁定位提取原始像素数据,c#,.net,lockbits,C#,.net,Lockbits,我正在制作一个程序来自动对图像进行某些编辑 其中一个功能是将“白色”像素转换为“白色”透明像素。起初,一切都很好 我已成功地将24bppRGB图像转换为32bppRGB图像,所需像素全部透明 图像加载到picturebox中,保存后即可打开 当我试图重新编辑文件时,问题出现了。当我再次尝试提取原始像素数据时,什么也没有得到。据我所知,整个像素数据阵列是0 为什么会这样 ^这是我的主要问题。 除了这个问题,我还注意到了这个程序的一些怪癖,这些都是出于好奇: 这两者之间的区别是什么: for(int
for(int i = 0; i < (x + 1); i += y)
for(int i = 0; i < (x + 1); i += y)
for(int i=0;i<(x+1);i+=y)
及
for(inti=0;i是一个小技巧,包括如何轻松使用位图的示例
p、 美国之间的差异:
for(int i = 0; i < (x + 1); i += y)
for(int i = 0; i < (x + 1); i += y)
for(int i=0;i<(x+1);i+=y)
及
用于(int i=0;打开32bppARGB图像时,我可能是调用LockBits时的PixelFormat
不匹配?我在您的问题中添加了代码格式,但是循环的第二组作为一个问题没有意义,您可能需要澄清。嗯,我尝试使用bmp.PixelFormat以及PixelFormat.Format32bppArgb生成了一个图像。这很奇怪,bmp.PixelFormat肯定能工作。你能把一个32bpp的图像上传到某个地方让我看看吗?
for(int i = 0; i < (x + 1); i += y)
for(int i = 0; i <= (x); i += y)