تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
توسيط سطر معين
#5
عملية رسم الباركود تحتاج الي بعض الحرفة
في المثال التالي ستجد كودا يوضح كيقية حساب المستطيل الذي يجب أت يحتوي علي الباركود تكست
ايضا الكود يوضح كيفية حساب اأبعاد الصورة
انا استخدمت تشفير بسيط لتحويل الباركود تكست الي 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 
Retired
الرد }}}
تم الشكر بواسطة: محمود صالح


الردود في هذا الموضوع
توسيط سطر معين - بواسطة محمود صالح - 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,858 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 587 15-11-24, 02:51 AM
آخر رد: justforit
  معرفة عدد صفوف الجريد فيو بشرط معين modymody300894 4 656 12-11-24, 02:22 PM
آخر رد: salamandal
  كتابه عدد معين من الارقام داخل تيكست بوكس modymody300894 3 557 07-11-24, 09:15 PM
آخر رد: modymody300894
  طباعة تقرير بطول وعرض معين (التقرير عبارة عن سطر) atefkhalf2004 7 630 15-07-24, 01:53 AM
آخر رد: atefkhalf2004
  توسيط التاريخ بالأداه دات تايمر بيكر العيدروس 2 450 19-06-24, 06:24 PM
آخر رد: العيدروس
  طلب تغيير لون خلية بالجريد كنترول حسب شرط معين heem1986 0 359 13-06-24, 09:59 AM
آخر رد: heem1986
  تعديل طول حقل معين في جميع جداول القاعدة atefkhalf2004 1 412 09-03-24, 03:17 AM
آخر رد: atefkhalf2004

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


يقوم بقرائة الموضوع: