我想用GDI做一张图在网页上,但是不知道该怎么用打印机打印出来,因为业务要求,必须是要在网页上做···
该回答引用ChatGPT
在ASP.NET中,您可以使用GDI+绘制图片,并将其呈现在网页上。如果您想打印图片,您可以使用JavaScript来调用浏览器的打印功能。
以下是一些基本的步骤来在ASP.NET中绘制并打印图片:
下面是一个示例代码,演示了如何在ASP.NET中绘制并打印一张图片:
protected void Page_Load(object sender, EventArgs e)
{
// 创建画布并绘制图像
Bitmap bitmap = new Bitmap(400, 400);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Red, 5);
graphics.DrawRectangle(pen, 50, 50, 300, 300);
// 将绘制的图像转换为Web格式并呈现在网页上
using (MemoryStream stream = new MemoryStream())
{
bitmap.Save(stream, ImageFormat.Png);
byte[] bytes = stream.ToArray();
string base64 = Convert.ToBase64String(bytes);
Image1.ImageUrl = "data:image/png;base64," + base64;
}
}
protected void PrintButton_Click(object sender, EventArgs e)
{
// 调用浏览器的打印功能
Page.ClientScript.RegisterStartupScript(this.GetType(), "PrintOperation", "window.print();", true);
}
在这个示例中,我们创建了一个400x400像素的画布,并在画布上绘制了一个红色矩形。然后,我们将绘制的图像转换为Base64编码的PNG格式,并使用Image1控件将其呈现在网页上。最后,我们在页面上添加了一个名为PrintButton的按钮,并将其点击事件绑定到PrintButton_Click方法。在PrintButton_Click方法中,我们使用JavaScript调用浏览器的打印功能,以打印当前页面上的内容,包括绘制的图像。