VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > C#教程 >
  • c#实现浮雕效果显示图片

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

  使图像产生浮雕的效果,主要通过对图像像素点的像素值分别与相邻像素点的像素值相减后加上128,然后将其作为新的像素点的值。 以浮雕效果显示图像主要通过GetPixel方法获得每一点像素的值,通过SetPixel设置该像素点的像素值。代码如下:privatevoidbutton1_Click(objectsender,EventArgse)
{
  //以浮雕效果显示图像
  try
  {
    intHeight=this.pictureBox1.Image.Height;
    intWidth=this.pictureBox1.Image.Width;
    BitmapnewBitmap=newBitmap(Width,Height);
    BitmapoldBitmap=(Bitmap)this.pictureBox1.Image;
    Colorpixel1,pixel2;
    for(intx=0;x<Width-1;x++)
    {
      for(inty=0;y<Height-1;y++)
      {
        intr=0,g=0,b=0;
        pixel1=oldBitmap.GetPixel(x,y);
        pixel2=oldBitmap.GetPixel(x+1,y+1);
        r=Math.Abs(pixel1.R-pixel2.R+128);
        g=Math.Abs(pixel1.G-pixel2.G+128);
        b=Math.Abs(pixel1.B-pixel2.B+128);
        if(r>255)
          r=255;
        if(r<0)
          r=0;
        if(g>255)
          g=255;
        if(g<0)
          g=0;
        if(b>255)
          b=255;
        if(b<0)
          b=0;
        newBitmap.SetPixel(x,y,Color.FromArgb(r,g,b));
      }
    }
    this.pictureBox1.Image=newBitmap;
  }
  catch(Exceptionex)
  {
    MessageBox.Show(ex.Message,"信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
  }
}



相关教程