C#获取图片RBG颜色并打印

昨天小编发布了java打印二维码图片,想想C#是不是也可以打印呢,所以小编就试了一下,果然可以,而且也很简单,上代码

   static void Main(string[] args)
        {
            getData(@"E://5.png");
            Console.Read();
        }

        /// <summary>
        /// <param name="path">图片路劲</param>
        public static void getData(string path)
        {
            using (Bitmap bmp = new Bitmap(path))
            {
                int x = bmp.Width;
                int y = bmp.Height;

                int[,] data = new int[x, y];
                for (int i = 0; i < x; i++)
                {
                    for (int j = 0; j < y; j++)
                    {
                        data[i, j] = bmp.GetPixel(i, j).ToArgb();
                    }
                }
                compressImg(bmp.Width, bmp.Height, data, 6);
            }

        }

        /// <summary>
        ///  图片压缩...打印
        /// </summary>
        /// <param name="width"> 图片的宽</param>
        /// <param name="height">图片的高</param>
        /// <param name="data">图片转换后的二维int数组</param>
        /// <param name="x">x 将图片缩小几倍(偶数,2,4,6,12,24....)</param>
        public static void compressImg(int width, int height, int[,] data, int x)
        {
            //将数组旋转90°输出,实现逐行输出图像
            for (int i = 0; i < height; i += x)
            {
                for (int j = 0; j < width; j += x)
                {
                    if (data[j, i] != -1)
                    {//有颜色输出
                        Console.Write("#");
                    }
                    else
                    {            //无颜色输出
                        Console.Write(" ");
                    }
                }
                Console.WriteLine();//每行结束换行
            }
        }

猜你喜欢

转载自blog.csdn.net/qq_41426326/article/details/89215062
今日推荐