0

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

4

1 回答 1

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

对图像进行编码后,使用in的base64String返回值,如下所示:ImageToBase64img

<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

于 2013-04-16T06:05:42.123 回答