c# 图像处理方法
图像旋转
using (Bitmap bitmap = new Bitmap((int)this.img.ActualWidth, (int)this.img.ActualHeight))
{
Graphics g = Graphics.FromImage(bitmap);
for (int i = 0; i < 17; i++)
{
switch (i)
{
case 0:
bitmap.RotateFlip(RotateFlipType.RotateNoneFlipX);
break;
case 1:
bitmap.RotateFlip(RotateFlipType.Rotate180FlipNone);
break;
case 2:
bitmap.RotateFlip(RotateFlipType.Rotate180FlipX);
break;
case 3:
bitmap.RotateFlip(RotateFlipType.Rotate180FlipXY);
break;
case 4:
bitmap.RotateFlip(RotateFlipType.Rotate180FlipY);
break;
case 5:
bitmap.RotateFlip(RotateFlipType.Rotate270FlipNone);
break;
case 6:
bitmap.RotateFlip(RotateFlipType.Rotate270FlipX);
break;
case 7:
bitmap.RotateFlip(RotateFlipType.Rotate270FlipXY);
break;
case 8:
bitmap.RotateFlip(RotateFlipType.Rotate270FlipY);
break;
case 9:
bitmap.RotateFlip(RotateFlipType.Rotate90FlipNone);
break;
case 10:
bitmap.RotateFlip(RotateFlipType.Rotate90FlipX);
break;
case 11:
bitmap.RotateFlip(RotateFlipType.Rotate90FlipXY);
break;
case 12:
bitmap.RotateFlip(RotateFlipType.Rotate90FlipY);
break;
case 13:
bitmap.RotateFlip(RotateFlipType.RotateNoneFlipNone);
break;
case 14:
bitmap.RotateFlip(RotateFlipType.RotateNoneFlipX);
break;
case 15:
bitmap.RotateFlip(RotateFlipType.RotateNoneFlipXY);
break;
case 16:
bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);
break;
}
g.Clear(System.Drawing.Color.White);
g.DrawImage(bitmap, 0, 0);
System.Threading.Thread.Sleep(1000);
}
}
图像反色
try
{
int Height = this.pictureBox1.Image.Height;
int Width = this.pictureBox1.Image.Width;
Bitmap newBitmap = new Bitmap(Width, Height);
Bitmap oldBitmap = (Bitmap)this.pictureBox1.Image;
Color pixel;
for (int x = 0; x < Width; x++)
for (int y = 0; y < Height; y++)
{
pixel = oldBitmap.GetPixel(x, y);
int r, g, b, Result = 0;
r =255- pixel.R;
g = 255-pixel.G;
b =255- pixel.B;
newBitmap.SetPixel(x, y, Color.FromArgb(r, g, b));
}
this.pictureBox1.Image = newBitmap;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "信息提示");
}
浙公网安备 33010602011771号