SunAOJLXY 2013-09-23 06:41 采纳率: 0%
浏览 1223

求救!ASP.Net如何打印指定的图片呀?

我想用GDI做一张图在网页上,但是不知道该怎么用打印机打印出来,因为业务要求,必须是要在网页上做···

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-19 22:50
    关注

    该回答引用ChatGPT

    在ASP.NET中,您可以使用GDI+绘制图片,并将其呈现在网页上。如果您想打印图片,您可以使用JavaScript来调用浏览器的打印功能。


    以下是一些基本的步骤来在ASP.NET中绘制并打印图片:

    • 创建一个画布并使用GDI+在画布上绘制图片。您可以使用System.Drawing命名空间中的类来创建画布和绘制图像,例如Bitmap、Graphics、Pen和Brush。
    • 将绘制的图像呈现在网页上。您可以使用System.Drawing.Imaging命名空间中的类将绘制的图像转换为Web格式,例如JPEG或PNG格式,然后使用System.Web.UI.WebControls.Image控件将其呈现在网页上。
    • 在页面上添加一个打印按钮,并使用JavaScript来处理点击事件。在JavaScript代码中,您可以使用window.print()方法来调用浏览器的打印功能,以打印当前页面上的内容,包括绘制的图像。

    下面是一个示例代码,演示了如何在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调用浏览器的打印功能,以打印当前页面上的内容,包括绘制的图像。

    评论

报告相同问题?

悬赏问题

  • ¥30 软件自定义无线电该怎样使用
  • ¥15 R语言mediation包做中介分析,直接效应和间接效应都很小,为什么?
  • ¥15 Jenkins+k8s部署slave节点offline
  • ¥15 如何实现从tello无人机上获取实时传输的视频流,然后将获取的视频通过yolov5进行检测
  • ¥15 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下