تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
توسيط سطر معين
#6
(05-01-18, 08:09 PM)silverlight كتب : عملية رسم الباركود تحتاج الي بعض الحرفة
في المثال التالي ستجد كودا يوضح كيقية حساب المستطيل الذي يجب أت يحتوي علي الباركود تكست
ايضا الكود يوضح كيفية حساب اأبعاد الصورة
انا استخدمت تشفير بسيط لتحويل الباركود تكست الي Binary أولا
و لم استخدم طريقتك في التشفيير
الكود ممكن تعديله ب اكثر من اسلوب لكي ترسم الباركود والتكست الخاص به
بحيث أن التكست يمكن رسمه في المنتصف او غلي اليمين او علي اليسار تحت اعمدة الباركوود مباشرة


PHP كود :
Public Class Form1

    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        Using img 
As Bitmap Me.GetBarCode("0123456789"Me.Font)
 
           img.Save(".\barCode.jpg")
 
       End Using

    End Sub

    Private Sub GetBarCodeBitmap
(barCodeString As StringbarCodeFont As FontByRef bmp As Bitmap)

 
       Dim pt As Point = New Point(00)
 
       Dim ht As Integer 60
        Dim w 
As Integer 0
        Dim s 
As String barCodeString
        Dim txtSize 
As Size TextRenderer.MeasureText(sMe.Font)
 
       Dim result As String String.Empty


 
       ' Convert String to binary
        Dim i As Integer = 0
        While i < s.Length
            Dim c As Char = s(i)
            ' 
encrypt char
            Dim values 
As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(c.ToString)
 
           Dim j As Integer 0
            While j 
values.Length
                
' convert char to binary use the pattern as per your requirements
                result += Convert.ToString(values(j), 2).PadLeft(8, "0")
                j += 1
            End While
            i += 1
        End While

        Dim penwidth As Single = 2
        Dim x As Integer = 0
        While x < result.Length
            w += CInt(penwidth)
            x += 1
        End While

        Dim rect As Rectangle = New Rectangle(pt.X, pt.Y + ht, w / 2, txtSize.Height)
        bmp = New Bitmap(CInt(w / 2), txtSize.Height + ht)

        Dim gr As Graphics = Graphics.FromImage(bmp)
        gr.Clear(Color.White)

        Dim mode = gr.SmoothingMode
        gr.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
        Dim m As Integer = 0
        While m < result.Length
            Dim clr As Color = Color.Empty
            Dim current As String = result(m)
            If current = "0" Then
                clr = Color.Black
            Else
                clr = Color.White
            End If

            Using p As Pen = New Pen(clr)
                p.Width = CSng(penwidth)
                Dim p1 As Point = New Point(m + pt.X, pt.Y)
                Dim p2 As Point = New Point(m + pt.X, pt.Y + ht)
                gr.DrawLine(p, p1, p2)

            End Using
            m += 1
        End While

        Dim contentRect As Rectangle = rect
        contentRect.Width = txtSize.Width
        contentRect.X = rect.X + (rect.Width - txtSize.Width) / 2
        contentRect.Y = rect.Y + (rect.Height - txtSize.Height) / 2

        Using sb As New SolidBrush(Color.Black)
            gr.DrawString(s, Me.Font, sb, contentRect.X, contentRect.Y)
        End Using
        gr.SmoothingMode = mode

        If gr IsNot Nothing Then
            gr.Dispose()
            gr = Nothing
        End If

    End Sub

    Private Function GetBarCode(barcodestring As String, barcodeFont As Font) As Bitmap
        Dim bmp As Bitmap = CType(Nothing, Bitmap)
        Me.GetBarCodeBitmap(barcodestring, barcodeFont, bmp)
        Return bmp
    End Function

End Class 

كود جميل ومختصر ولكن للاسف الطباعة
سيء جدا
هل يمكن انا تجعل الصورة اكثر وضوح
لتكون الطباعة ظاهرة
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
توسيط سطر معين - بواسطة محمود صالح - 04-01-18, 12:53 PM
RE: توسيط سطر معين - بواسطة محمود صالح - 05-01-18, 12:53 AM
RE: توسيط سطر معين - بواسطة محمود صالح - 05-01-18, 05:03 AM
RE: توسيط سطر معين - بواسطة طالب برمجة - 05-01-18, 08:02 PM
RE: توسيط سطر معين - بواسطة silverlight - 05-01-18, 08:09 PM
RE: توسيط سطر معين - بواسطة محمود صالح - 06-01-18, 02:12 AM
RE: توسيط سطر معين - بواسطة silverlight - 08-01-18, 10:32 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] طريقة توسيط النص داخل اداة comboBox سمير1404 7 3,860 24-08-25, 01:01 PM
آخر رد: أبو خالد الشكري
  اريد كود معين اثابكم الله خالد كامل1 1 456 04-02-25, 09:28 PM
آخر رد: aliday03
  كيفية احتساب الفرق بين تاريخين بناء على عدد معين مصمم هاوي 2 554 15-01-25, 02:02 PM
آخر رد: مصمم هاوي
  [سؤال] اضافة ملف Pdf الى الريسورس واستخراجه الى مسار معين .. ackore 6 592 15-11-24, 02:51 AM
آخر رد: justforit
  معرفة عدد صفوف الجريد فيو بشرط معين modymody300894 4 657 12-11-24, 02:22 PM
آخر رد: salamandal
  كتابه عدد معين من الارقام داخل تيكست بوكس modymody300894 3 559 07-11-24, 09:15 PM
آخر رد: modymody300894
  طباعة تقرير بطول وعرض معين (التقرير عبارة عن سطر) atefkhalf2004 7 635 15-07-24, 01:53 AM
آخر رد: atefkhalf2004
  توسيط التاريخ بالأداه دات تايمر بيكر العيدروس 2 452 19-06-24, 06:24 PM
آخر رد: العيدروس
  طلب تغيير لون خلية بالجريد كنترول حسب شرط معين heem1986 0 360 13-06-24, 09:59 AM
آخر رد: heem1986
  تعديل طول حقل معين في جميع جداول القاعدة atefkhalf2004 1 416 09-03-24, 03:17 AM
آخر رد: atefkhalf2004

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم