注册 登录
编程论坛 ASP.NET技术论坛

[版主大人啊,求]获取图片像素点颜色值问题

xchrimp 发布于 2011-09-21 14:34, 1096 次点击
因工作需要,要经常处理得得到如下数据,望各位师哥师姐,帮帮小弟
例子:
比如一张10*10的像素图片,我把图片的左上角为坐标原点,原点向右的水平方向为X轴,原点向下的垂直方向为Y轴,现在我要读出每一个像素点是属于RGB颜色值出来,
然后逐点自左向右,自上向下,循环读出每一个像素的值,格式是这样的("C"  RGB颜色值 X值 Y值 X值 Y值)
("C" 12 1 1 1 1  "C"  56 2 1 2 1  "C"  125 3 1 3 1  "C"  200 4 1 4 1  "C"  52 5 1 5 1  "C"  78 6 1 6 1  "C"  101 7 1 7 1   "C"  85 8 1 8 1 "C" 77 9 1  9 1 "C"  61 10 1 10 1 "C" 61 1 2 1 2 "C" 207 2 2 2 2 "C"  151 3 2 3 2  ....... ........ "C"  147 10 10 10 10)

把上面的功能编译成一个EXE文件,双击EXE文件,选择图片后,把结果输入成一个TXT文件就可以啦!!
麻烦各位师哥师姐,帮帮小弟

[ 本帖最后由 xchrimp 于 2011-9-26 14:24 编辑 ]
4 回复
#2
xchrimp2011-09-21 15:17
版主们,你们都在那撒
#3
wangnannan2011-09-22 11:30
解决读取图片像素 其它的问题就好解决啦 c#读取图片像素值网上有很多的例如
程序代码:
给你一段我编的代码,功能是变图片的分辨率,一看就明白了
Color c = new Color();
            Bitmap box1 = new Bitmap(pictureBox1.Image);
            Bitmap box2 = new Bitmap(pictureBox2.Image);
            int r, g, b, i, j, size, k1, k2, xres, yres;
            xres = pictureBox1.Image.Width;
            yres = pictureBox1.Image.Height;
            size = 2;
            for (i = 0; i < (xres - 1);i+=size)
            {
                for (j = 0; j <( yres - 1); j += size)
                {
                    c = box1.GetPixel(i,j);//取像素点
                    r = c.R;
                    g = c.G;
                    b = c.B;
                 
                    Color cc = Color.FromArgb(r,g,b);
                    for (k1 = 0; k1 <= (size - 1);k1++)
                    {
                        for (k2 = 0; k2 <= (size - 1); k2++)
                        {
                            box2.SetPixel(i+k1,j+k2,cc);//写入像素
                        }
                    }

                }
            }
相信楼主自己能解决这个问题
#4
xchrimp2011-09-26 14:12
楼上的版主大人啊,小弟跪求啦,我看不懂代码啊,我只懂LISP,能把你上面的代码做到一个EXE文件吗,我直接选图片就可以输出文件了,好不好嘛!!!!,再次跪求啦!!!!
#5
xchrimp2011-11-02 09:51
再求跪求,帮帮忙啊,各位大哥
1