将文本输出为 GIF 或 PNG 以在电子书中使用

Noa*_*oah 1 vb.net utf-8 mobipocket image-conversion

我的目标是创建一本可以使用 Blackberry 上的 Mobipocket 阅读器阅读的电子书。问题是我的文本包含 Blackberry 不支持的 UTF-8 字符,因此显示为黑框。

\n\n

该电子书将包含英语和旁遮普语单词列表以供参考,例如:

\n\n
bait          \xe0\xa8\xa6\xe0\xa8\xbe\xe0\xa8\xa3\xe0\xa8\xbe\nbaked       \xe0\xa8\xad\xe0\xa9\x81\xe0\xa9\xb0\xe0\xa8\xa8\xe0\xa8\xbf\xe0\xa8\x86\nbalance     \xe0\xa8\xb5\xe0\xa8\xbf\xe0\xa8\x9a\xe0\xa8\xbe\xe0\xa8\xb0\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的一个想法是将列表写入 HTML 表,并将旁遮普语转换为 GIF 或 PNG 文件。然后将此 HTML 文件包含在电子书中。所有单词当前都存在于 Access 数据库中,但可以轻松导出到另一种形式以输入到生成例程。

\n\n

问题:使用 VB、VBA 或 C#,编写一个例程来创建图像,然后输出一个包含表格中的英文单词和图像的 HTML 文件有多难

\n

Jon*_*n W 5

Python 中有一些简单的库可以处理此类问题。但是我不确定是否有一个简单的 VB/C# 解决方案。

使用 python,您可以使用PIL 库和类似于此的代码(我在这里找到):

# creates a 50x50 pixel black box with hello world written in white, 8 point Arial text
import Image, ImageDraw, ImageFont

i = Image.new("RGB", (50,50))
d = ImageDraw.Draw(i)
f = ImageFont.truetype("Arial.ttf", 8)
d.text((0,0), "hello world", font=f)
i.save(open("helloworld.png", "wb"), "PNG")
Run Code Online (Sandbox Code Playgroud)

如果您已经熟悉其他语言,Python 应该很容易上手,并且与 VB/C# 不同,它几乎可以在任何平台上运行。Python 还可以帮助您生成 HTML 以与生成的图像一起使用。这里有一些这样的例子。