C# Bitmap 复制的小例子_C#教程-查字典教程网
C# Bitmap 复制的小例子
C# Bitmap 复制的小例子
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:publicBitmapCopyBitmap(Bitmapsource){intdepth=Bitmap.GetPixel...

复制代码 代码如下:

public Bitmap CopyBitmap(Bitmap source)

{

int depth = Bitmap.GetPixelFormatSize(source.PixelFormat);

if (depth != 8 && depth != 24 && depth != 32)

{

return null;

}

Bitmap destination = new Bitmap(source.Width, source.Height, source.PixelFormat);

BitmapData source_bitmapdata = null;

BitmapData destination_bitmapdata = null;

try

{

source_bitmapdata = source.LockBits(new Rectangle(0, 0, source.Width, source.Height), ImageLockMode.ReadWrite,

source.PixelFormat);

destination_bitmapdata = destination.LockBits(new Rectangle(0, 0, destination.Width, destination.Height), ImageLockMode.ReadWrite,

destination.PixelFormat);

unsafe

{

byte* source_ptr = (byte*)source_bitmapdata.Scan0;

byte* destination_ptr = (byte*)destination_bitmapdata.Scan0;

for (int i = 0; i < (source.Width * source.Height * (depth / 8)); i++)

{

*destination_ptr = *source_ptr;

source_ptr++;

destination_ptr++;

}

}

source.UnlockBits(source_bitmapdata);

destination.UnlockBits(destination_bitmapdata);

return destination;

}

catch

{

destination.Dispose();

return null;

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C#教程学习
    热门C#教程学习
    编程开发子分类