C#图像处理

简单的图片存取

通过bitmap的getpixel方法获取每个像素的rgb值 然后把它存入一个文件,然后再通过读取这个文件还原一个bitmap的例子,

。Net就是这么强大就是这么bt  也许你你不知道jpg的内部文件格式 也许你不知道bmp文件的内部格式(实际上也不是很复杂研究一下就OK啦 ˇ△ˇ)

但是你却可以借助.Net自带的GDI 图形库这个强大的东东作为桥梁在短时间来完成你想要的功能 ,你看哇哈哈 是不是发现你也会用C#编写图片处理工具了 (¯▽¯;) 编程就是这么的有趣。

啥加水印啊 啥调节某个区域的亮度啊 啥。。。。那些都自己整 只要有想法都可以实现

C#代码

static void Main(string[] args)

        {

            //找一个640x480的图片 读取文件并把所有像素转存到文件a

            BinaryWriter sw;

            if (File.Exists("a"))

                File.Delete("a");

            sw = new BinaryWriter(File.Create("a"));

            Bitmap img = new Bitmap("a.bmp");

            for (int i = 0; i < img.Height; i++)

            {

                for (int j = 0; j < img.Width; j++)

                {

                    Color cor = img.GetPixel(j, i);

                    sw.Write(cor.R);

                    sw.Write(cor.G);

                    sw.Write(cor.B);

                }

            }

            sw.Close();



            //从转存的文件中读取位图数据 并生成b.jpg

            BinaryReader br;

            br = new BinaryReader(new FileStream("a", FileMode.Open));

            byte data;

            Bitmap img2 = new Bitmap(640, 480);

            for (int i = 0; i < img2.Height; i++)

            {

                for (int j = 0; j < img2.Width; j++)

                {

                    byte r = br.ReadByte();



                    byte g = br.ReadByte();



                    byte b = br.ReadByte();



                    Color cor = Color.FromArgb(r, 0, b);



                    img2.SetPixel(j, i, cor);

                }

            }



            br.Close();

            img2.Save("b.jpg", ImageFormat.Jpeg);



        }

你可能感兴趣的:(图像处理)