Pregunta

Mi objetivo es crear un libro electrónico que puedo leer con el lector de Mobipocket en mi Blackberry. El problema es que mi texto incluye caracteres UTF-8 que no son compatibles en la Blackberry, y por lo tanto visualizar como cajas negras.

El libro electrónico contendrá una lista de palabras en inglés y Punjabi de referencia, tales como:

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

Un pensamiento que tenía era para escribir la lista a una tabla HTML con el Punjabi convierte en un archivo GIF o PNG. A continuación, incluir este archivo HTML en el libro electrónico. Todas las palabras existen actualmente en una base de datos de acceso, pero podría ser fácilmente exportado a otra forma para la entrada a las rutinas de generación.

PREGUNTA: Uso de VB, VBA o C #, lo difícil sería para escribir una rutina crear las imágenes y luego salida de un archivo HTML que contiene las palabras en inglés y las imágenes en una tabla

¿Fue útil?

Solución 2

Uso de 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

Otros consejos

Hay fáciles bibliotecas de Python para el manejo de este tipo de problema. Sin embargo no estoy seguro de si hay una solución VB C trivial / #.

Con pitón que tendría que utilizar la PIL biblioteca y un código similar a este (que he encontrado aquí ):

# 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 ya está familiarizado con otros lenguajes Python debe ser bastante fácil de aprender, ya diferencia de VB / C # funciona en casi cualquier plataforma. Python también puede ayudarle a generar el código HTML para ir junto con las imágenes generadas. Hay algunos ejemplos de esta aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top