昨天小编发布了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();//每行结束换行
}
}