0

我希望我网站的访问者能够执行以下步骤:

  1. 在表单的几个字段中输入文本并上传图像。(这是微不足道的。)
  2. 然后查看输入的图像预览,文本输入覆盖上传的图像
  3. 将用户提交表单时预览的图像保存到服务器。

我想使用 C# 和 ASP.NET 来做到这一点。我读过有 PHP 选项,但我想避免混合 PHP 和 C# 代码。

我找到了这篇文章:Convert pages to image from ASP.NET,但该解决方案适用于桌面应用程序。

我还发现了这篇文章:捕获活动窗口的屏幕截图?,但我不想希望用户的窗口大小正确。

第 1 步很简单。我知道该怎么做,但我把它包括在内是为了清楚我想要完成的事情。

user1132959 在下面的回答帮助我执行了第 2 步和第 3 步。我编辑了这篇文章以回应它被搁置。我希望这篇文章可以帮助别人。

4

2 回答 2

1

这是一个链接,向您展示如何在图像上绘制文本。您可以在 ASP .NET 中使用该示例中的 Bitmap 类(尽管文档说 GDI 不能保证,但根据我的经验,这从来都不是问题)。

创建该位图对象并添加文本后,将其存储在某处或通过会话,然后创建一个专用于加载位图供用户查看的页面(用户实际上将被发送到带有按钮和链接的页面此图像页面)并在Page_Load事件中放置类似的内容(假设 jpeg 输出格式):

            System.Drawing.Image bm = theBitmapYouGeneratedEarlier;
            if (bm == null)
            {
                Response.Write("Failed to load image");
                return;
            }

            Response.Clear();
            Response.ClearHeaders();

            Response.ContentType = "image/jpeg";
            bm.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
            Response.OutputStream.Flush();
            bm.Dispose();

最后,当用户点击提交或任何保存这个新位图时。

于 2013-08-14T01:39:00.887 回答
0

您可以使用 AjaxControlToolkit 即时预览您上传的照片。请参阅此处的示例。教程告诉你如何在你的项目中安装 AjaxContolToolkit

于 2013-08-13T06:34:45.497 回答