نص الإخراج باسم GIF أو PNG للاستخدام في الكتاب الاليكتروني

StackOverflow https://stackoverflow.com/questions/588726

سؤال

هدفي هو إنشاء كتاب إلكتروني يمكن أن أقرأه مع قارئ MobiPocket على جهاز BlackBerry الخاص بي. المشكلة هي أن النص الخاص بي يتضمن أحرف UTF-8 غير مدعومة على BlackBerry، وبالتالي عرض صناديق سوداء.

سيحتوي الكتاب الاليكتروني على قائمة كلمات باللغة الإنجليزية والبنجابية للرجوع إليها، مثل:

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

يعتقد المرء أنني كنت في كتابة القائمة إلى جدول HTML مع تحويل البنجابية إلى ملف GIF أو PNG. ثم قم بتضمين ملف HTML هذا في الكتاب الإلكتروني. تحتوي جميع الكلمات الموجودة حاليا في قاعدة بيانات Access، ولكن يمكن بسهولة تصديرها إلى نموذج آخر لإدخال إجراءات الجيل.

سؤال: باستخدام VB أو VBA أو C #، ما مدى صعوبة كتابة روتين إنشاء الصور ثم إخراج ملف HTML الذي يحتوي على الكلمات والصور الإنجليزية في جدول

هل كانت مفيدة؟

المحلول 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

نصائح أخرى

هناك مكتبات سهلة في بيثون لمعالجة هذا النوع من المشاكل. ومع ذلك، لست متأكدا مما إذا كان هناك حل تافه VB / C #.

مع بيثون كنت تستخدم مكتبة PIS والرمز مماثلة لهذا (الذي وجدت هنا):

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

إذا كنت معتادا بالفعل على لغات أخرى يجب أن تكون بيثون سهلة للغاية، وعلى عكس VB / C # ستعمل على أي منصة فقط. يمكن أن تساعدك Python أيضا على توليد HTML للذهاب إلى جانب الصور التي تم إنشاؤها. هناك بعض الأمثلة على هذا هنا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top