【问题标题】:create image from text(email) to prevent spammers use从文本(电子邮件)创建图像以防止垃圾邮件发送者使用
【发布时间】:2013-04-08 10:18:16
【问题描述】:

我有一个 asp.net 网站,想在某些页面中显示用户信息。他们的信息之一是他们的电子邮件。我想从电子邮件创建图像并显示它而不是文本,以便垃圾邮件发送者无法获取它......如何从文本创建图像?还是有其他方法可以实现?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    检查这个答案,它应该有助于引导您朝着正确的方向前进。它在图像上绘制文本。

    https://stackoverflow.com/a/2070493/907388

    这篇文章也是从文本生成图像或将文本转换为图像的一个很好的例子

    http://chiragrdarji.wordpress.com/2008/05/09/generate-image-from-text-using-c-or-convert-text-in-to-image-using-c/

    您还可以使用imageMagick从文本服务器端生成图像

    编辑:

    上述方法假设您将保存图像。下面的方法会将图像对象编码为Base64字符串,因此您不必直接保存图像。

    public string ImageToBase64(Image image,System.Drawing.Imaging.ImageFormat format) 
    {
      using (MemoryStream ms = new MemoryStream()) 
      {
        // Convert Image to byte[]
        image.Save(ms, format);
        byte[] imageBytes = ms.ToArray();
    
        // Convert byte[] to Base64 String
        string base64String = Convert.ToBase64String(imageBytes);
        return base64String;
      }
    }
    

    编码图像后,在img 中使用来自ImageToBase64base64String 返回值,如下所示:

    <img src="data:image/png;base64, iAAANSUhEQAA..." alt="my encoded image"/>

    只需将iAAANSUhEQAA... 替换为实际值即可,实际值可能会很大,具体取决于图像的大小。

    还有一点需要注意,data-uri 在 IE6/7 中不起作用

    信用:http://www.dailycoding.com/Posts/convert_image_to_base64_string_and_base64_string_to_image.aspx

    【讨论】:

    • 2 第一个链接显示了如何在 c#.net 中创建图像......我应该保存它们然后在 asp.net 中使用它们,对吗?有什么方法可以在不保存的情况下使用它们?或者关闭窗口后如何删除它们?通过使用图像魔法,我也应该保存它们,是吗?
    • 是的,你是对的。您应该保存它们并在 asp.net 中使用它们。保存它们的替代方法是将图像编码为Base64,并将其用作<img src=""/>。有关如何执行此操作,请参阅上面的答案编辑。希望这会有所帮助
    猜你喜欢
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 2010-10-19
    • 2012-12-10
    相关资源
    最近更新 更多