Question

Mon but est de créer un livre électronique que je peux lire avec le lecteur Mobipocket sur mon Blackberry. Le problème est que mon texte comprend UTF-8 caractères qui ne sont pas pris en charge sur le Blackberry, et donc afficher comme des boîtes noires.

Le livre électronique contiendra une liste de mots anglais et panjabi pour référence, tels que:

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

Une pensée que j'avais été d'écrire la liste à une table HTML avec le Punjabi converti en un fichier GIF ou PNG. Ensuite, inclure ce fichier HTML dans le livre électronique. Tous les mots existent actuellement dans une base de données d'accès, mais pourrait facilement être exportée vers une autre forme d'entrée aux routines de génération.

QUESTION: En utilisant VB, VBA ou C #, comment serait-il difficile d'écrire une routine créer les images et la sortie d'un fichier HTML contenant les mots anglais et des images dans une table

Était-ce utile?

La solution 2

Utilisation 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

Autres conseils

Il existe des bibliothèques faciles en Python pour traiter ce genre de problème. Cependant, je ne sais pas s'il y a une solution VB / C # trivial.

Avec python vous devriez utiliser le PIL bibliothèque et un code similaire à ce (qui J'ai trouvé ):

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

Si vous êtes déjà familier avec d'autres langues Python devrait être assez facile à ramasser, et contrairement à VB / C # fonctionne sur à peu près toute plate-forme. Python peut aussi vous aider à générer le code HTML pour aller de pair avec les images générées. Il y a quelques exemples de cette .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top