پروگرامرز سے ایک سوال

محمدصابر

محفلین
ویژوئل بیسک کے اس کوڈ کی مدد سے میں ٹیکسٹ کی تصویر بنائی جا سکتی ہے اور ٹیکسٹ کی لمبائی، چوڑائی بھی ماپی جا سکتی ہے لیکن یہاں ایک مسئلہ درپیش ہے کہ مجھے یہاں آیت کو رینڈر کرنا ہے جبکہ آیت میں اعراب مجھے اس اندازے کے محروم کر رہے ہیں کہ میں کتنا ٹیکسٹ منتخب کروں کہ آیت موجودہ فریم کے اندر ہی رہے۔

کوڈ:
 Dim Text As String = txtAyat.Text
        Dim FontColor As Color = Color.Blue
        Dim BackColor As Color = Color.White
        Dim FontName As String = "Muhammadi Bold Font"
        Dim FontSize As Integer = 14
        Dim Height As Integer = 240
        Dim Width As Integer = 320
        Dim FileName As String = "Ayat"
        Dim objBitmap As New Bitmap(Width, Height)
        Dim objGraphics As Graphics = Graphics.FromImage(objBitmap)
        Dim objFont As New Font(FontName, FontSize)
        Dim sf As New StringFormat
        sf.Alignment = StringAlignment.Center
        sf.FormatFlags = StringFormatFlags.DirectionRightToLeft
        Dim sz As New Size(Width, Height)
        Dim objPoint As New PointF(160.0F, 5.0F)
        Dim objBrushForeColor As New SolidBrush(FontColor)
        Dim objBrushBackColor As New SolidBrush(BackColor)
        sz = TextRenderer.MeasureText(txtAyat.Text, objFont)
        objGraphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
        objGraphics.FillRectangle(objBrushBackColor, 0, 0, Width, Height)

        objGraphics.DrawString(Text, objFont, objBrushForeColor, objPoint, sf)

        objBitmap.Save(Application.StartupPath & FileName & ".JPG", ImageFormat.Jpeg)
        pbResult.Load(Application.StartupPath & FileName & ".JPG")
 

محمدصابر

محفلین
جناب آپ تو لمبائی چوڑائی ہارڈ کوڈ کر رہے ہیں:
Dim Height As Integer = 240
Dim Width As Integer = 320

شارق بھائی مجھے امیج کا سائز اتنا ہی چاہیے تھا ہم اسے کسی ویری ایبل میں رکھ کر بڑا چھوٹا بھی کر سکتے ہیں۔ ٹیکسٹ کا سائز ماپنے کے لئے مندرجہ ذیل کوڈ ہے۔

sz = TextRenderer.MeasureText(txtAyat.Text, objFont)

لیکن میرا مسئلہ یہ نہیں ہے بلکہ میں چاہتا ہوں کہ کوئی ایسا الگورتھم مل جائے جس کی مدد سے میں کسی آیت کا اتنا ہی حصہ منتخب کر لوں جو ۳۲۰ چوڑائی میں پورا آجائے۔
جو الگورتھم میرے پاس بنا ہے وہ اتنا سست ہے کہ اسے استعمال کرنا مجھے بالکل اچھا نہیں لگ رہا۔
 
Top