C# BitmapData和封送处理。是否复制?windows phone有什么替代方案?
更新: 我一直在四处寻找,试图找出windows phone 7.1的BitmapData替代方案。我已经注释掉了有问题的代码。我知道锁位和它的快速比较,以获得设置像素等等。 据我所知,BitmapData将图像锁定到内存中,以便进行操作。 BmpData.Scan0充当指向内存的指针 如果我在没有BitmapData的情况下执行此操作,请说Get.Pixel并将其映射到内存。并使用Set.Pixel处理一些图像数据 关于处理速度;我不想改变很多像素C# BitmapData和封送处理。是否复制?windows phone有什么替代方案?,c#,windows-phone-7,windows-phone-7.1,getpixel,lockbits,C#,Windows Phone 7,Windows Phone 7.1,Getpixel,Lockbits,更新: 我一直在四处寻找,试图找出windows phone 7.1的BitmapData替代方案。我已经注释掉了有问题的代码。我知道锁位和它的快速比较,以获得设置像素等等。 据我所知,BitmapData将图像锁定到内存中,以便进行操作。 BmpData.Scan0充当指向内存的指针 如果我在没有BitmapData的情况下执行此操作,请说Get.Pixel并将其映射到内存。并使用Set.Pixel处理一些图像数据 关于处理速度;我不想改变很多像素 public int Edit(Bitm
public int Edit(Bitmap BmpIn, byte[] BIn, byte BitsPerByte)
{
int LengthBytes = 1 + 31 / BitsPerByte;
int TextLength = 1 + (8 * BIn.Length - 1) / BitsPerByte;
//BitmapData BmpData = BmpIn.LockBits(new Rectangle(0, 0, BmpIn.Width, BmpIn.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
RGB = new byte[2 + LengthBytes + TextLength];
//Marshal.Copy(BmpData.Scan0, RGB, 0, RGB.Length);
InsertBitsPerByte(BitsPerByte);
SetMasks(BitsPerByte);
InsertLength(LengthBytes, TextLength, BitsPerByte);
InsertBytes(BIn, BitsPerByte);
//Marshal.Copy(RGB, 0, BmpData.Scan0, RGB.Length);
BmpIn.UnlockBits(BmpData);
return TextLength;
}
谢谢你的帮助。
谢谢看一看。这将允许您在图像中执行像素操作。您能否更详细地解释一下这在上述场景中的作用?我已经看过了和其他一些。是否有类似于位图数据或位锁的内容?不清楚您想做什么:克隆图像,操纵图像?两者都有?是的,我正在尝试克隆并操纵图像。我引入了更多的代码,如果它更清楚一点的话。