从文本(电子邮件)创建图像以防止垃圾邮件发送者使用

时间:2013-04-16 05:59:32

标签: asp.net

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

1 个答案:

答案 0 :(得分:4)

检查此答案,它应该有助于指导您正确的方向。它在图像上绘制文字。

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;
  }
}

对图片进行编码后,请使用base64StringImageToBase64的{​​{1}}返回值:

img

只需将<img src="data:image/png;base64, iAAANSUhEQAA..." alt="my encoded image"/>替换为实际值,实际值可能非常大,具体取决于图片的大小。

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

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

相关问题