文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C#中马赛克算法

C#中马赛克算法

时间:2010-09-02  来源:开心无罪

  马赛克

  public static Bitmap KiMosaic(Bitmap b, int val)

  {

  if (b.Equals(null)) { return null; }

  int w = b.Width;

  int h = b.Height;

  int stdR, stdG, stdB;

  stdR = 0; stdG = 0; stdB = 0;

  BitmapData srcData = b.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);  //www.qichepeijian.com

  unsafe

  {

  byte* p = (byte*)srcData.Scan0.ToPointer();

  for (int y = 0; y < h; y++)

  {

  for (int x = 0; x < w; x++)

  {

  if (y % val == 0)

  {

  if (x % val == 0) { stdR = p[2]; stdG = p[1]; stdB = p[0]; }

  else { p[0] = (byte)stdB; p[1] = (byte)stdG; p[2] = (byte)stdR; }

  }

  else

  {

  byte* pTemp = p - srcData.Stride;

  p[0] = (byte)pTemp[0];

  p[1] = (byte)pTemp[1];

  p[2] = (byte)pTemp[2];

  } p += 3;

  }

  p += srcData.Stride - w * 3;

  }

  b.UnlockBits(srcData);

  }

  return b;

  }

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载