我有一个asp.net网站,希望在某些页面中显示用户信息。他们的一个信息是他们的电子邮件。我想从电子邮件创建一个图像并显示它而不是文本,以便垃圾邮件发送者无法获取它...我如何从文本创建图像?或者还有其他方法可以实现吗?
答案 0 :(得分:4)
检查此答案,它应该有助于指导您正确的方向。它在图像上绘制文字。
https://stackoverflow.com/a/2070493/907388
这篇文章也是一个很好的例子,可以从文本生成图像或将文本转换为图像
您还可以使用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;
}
}
对图片进行编码后,请使用base64String
中ImageToBase64
的{{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