0

私の目標は、Blackberry の Mobipocket リーダーで読める電子書籍を作成することです。問題は、テキストに Blackberry でサポートされていない UTF-8 文字が含まれているため、ブラック ボックスとして表示されることです。

電子ブックには、参照用の英語とパンジャブ語のリストが含まれます。

bait          ਦਾਣਾ
baked       ਭੁੰਨਿਆ
balance     ਵਿਚਾਰ

私が考えたことの 1 つは、リストを HTML テーブルに書き込んで、パンジャブ語を GIF または PNG ファイルに変換することでした。次に、この HTML ファイルを eBook に含めます。すべての単語は現在アクセス データベースに存在しますが、生成ルーチンへの入力用に別のフォームに簡単にエクスポートできます。

質問: VB、VBA、または C# を使用して、画像を作成し、英語の単語と画像を表に含む HTML ファイルを出力するルーチンを作成するのはどれほど難しいでしょうか?

4

2 に答える 2

4

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")

すでに他の言語に精通している場合、Python は非常に簡単に理解できるはずです。また、VB/C# とは異なり、ほぼすべてのプラットフォームで動作します。Python は、生成された画像に合わせて HTML を生成するのにも役立ちます。ここにいくつかの例があります。

于 2009-02-26T01:48:48.077 に答える
2

VB の使用

Sub createPNG(ByVal pngString As String, ByVal pngName As String)

' Set up Font
Dim pngFont As New Font("Raavi", 14)

' Create a bitmap so we can create the Grapics object 
Dim bm As Bitmap = New Bitmap(1, 1)
Dim gs As Graphics = Graphics.FromImage(bm)

' Measure string.
Dim pngSize As SizeF = gs.MeasureString(pngString, pngFont)

' Resize the bitmap so the width and height of the text 
bm = New Bitmap(Convert.ToInt32(pngSize.Width), Convert.ToInt32(pngSize.Height))

' Render the bitmap 
gs = Graphics.FromImage(bm)
gs.Clear(Color.White)
gs.TextRenderingHint = TextRenderingHint.AntiAlias
gs.DrawString(pngString, pngFont, Brushes.Firebrick, 0, 0)
gs.Flush()


'Saving this as a PNG file
Dim myFileOut As FileStream = New FileStream(pngName + ".png", FileMode.Create)
bm.Save(myFileOut, ImageFormat.Png)
myFileOut.Close()
End Sub
于 2009-02-26T06:23:47.387 に答える