تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] إضافه نص الي صوره بحيث يكون اسفل الصوره بدون استقطاع اي جزء منها
#1
السلام عليكم ورحمة الله وبركاته 

الاخوه الكرام تقبلو فائق الاحترام 
   

ارجو مساعدتي  في

إضافه نص الي صوره بحيث يكون اسفل الصوره بدون استقطاع اي جزء منها

اي انه اضافه للصوره ويكون جزء منها عند الحفظ  

وهذه صورة للتوضيح



ولكم جزيل الشكر

حسناً كبدايه انا استطيع اضافة نص علي الصوره  وجعله يصل الي اسفلها ولكنه يتواجد فوقها من الاسفل وانا اريده اسفلها بمسافه  
كود :
   Dim gr As Graphics
   Dim dr_bitmab As Bitmap

   Dim penprush As New Drawing.SolidBrush(Color.Black)
   Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click

       dr_bitmab = New Bitmap(PictureBox2.Image)
       'Dim cono As Bitmap = New Bitmap(PictureBox2.Width, PictureBox2.Height + 50)
       gr = Graphics.FromImage(dr_bitmab)
       imgQR.Image = dr_bitmab
       gr.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
       'gr.DrawString(RichTextBox1.Text, RichTextBox1.Font, penprush, PictureBox2.Location)
       gr.DrawString(TextBox3.Text, New Font("Times New Roman", 16, FontStyle.Bold), New SolidBrush(Color.Red), New PointF(5, 90))
       'dr_bitmab.  Save (TextBox2.Text, System.Drawing.Imaging.ImageFormat.Jpeg)

   End Sub
اتمني ان تكون مشاركتي إثراء للموضوع وليست إعسار له
الرد }}}}
تم الشكر بواسطة:
#2
(30-10-16, 11:06 PM)جوري كتب : السلام عليكم ورحمة الله وبركاته 

الاخوه الكرام تقبلو فائق الاحترام 


ارجو مساعدتي  في

إضافه نص الي صوره بحيث يكون اسفل الصوره بدون استقطاع اي جزء منها

اي انه اضافه للصوره ويكون جزء منها عند الحفظ  

وهذه صورة للتوضيح



ولكم جزيل الشكر

حسناً كبدايه انا استطيع اضافة نص علي الصوره  وجعله يصل الي اسفلها ولكنه يتواجد فوقها من الاسفل وانا اريده اسفلها بمسافه  
كود :
   Dim gr As Graphics
   Dim dr_bitmab As Bitmap

   Dim penprush As New Drawing.SolidBrush(Color.Black)
   Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click

       dr_bitmab = New Bitmap(PictureBox2.Image)
       'Dim cono As Bitmap = New Bitmap(PictureBox2.Width, PictureBox2.Height + 50)
       gr = Graphics.FromImage(dr_bitmab)
       imgQR.Image = dr_bitmab
       gr.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
       'gr.DrawString(RichTextBox1.Text, RichTextBox1.Font, penprush, PictureBox2.Location)
       gr.DrawString(TextBox3.Text, New Font("Times New Roman", 16, FontStyle.Bold), New SolidBrush(Color.Red), New PointF(5, 90))
       'dr_bitmab.  Save (TextBox2.Text, System.Drawing.Imaging.ImageFormat.Jpeg)

   End Sub
شكرا اخواني الكرام تم الحل  وهذه هي الطريقه
كود :
Public Function AddBorder(ByVal bm As Bitmap, ByVal borderColor As System.Drawing.Color, ByVal borderWidthInPixels As Integer) As Bitmap

       Dim newBitmap As New Bitmap(bm.Width + (borderWidthInPixels * 2), bm.Height + (borderWidthInPixels * 2))

       '************************************************************************
       '  Draw the border
       '************************************************************************
       ' Top
       For x As Integer = 0 To newBitmap.Width - 1
           For y As Integer = 0 To borderWidthInPixels
               newBitmap.SetPixel(x, y, borderColor)
           Next
       Next

       ' Bottom
       For x As Integer = 0 To newBitmap.Width - 1
           For y As Integer = newBitmap.Height - 1 To (newBitmap.Height - 1) - borderWidthInPixels Step -1
               newBitmap.SetPixel(x, y, borderColor)
           Next
       Next

       ' Left
       For x As Integer = 0 To borderWidthInPixels
           For y As Integer = 0 To newBitmap.Height - 1
               newBitmap.SetPixel(x, y, borderColor)
           Next
       Next

       ' Right
       For x As Integer = newBitmap.Width - 1 To (newBitmap.Width - 1) - borderWidthInPixels Step -1
           For y As Integer = 0 To newBitmap.Height - 1
               newBitmap.SetPixel(x, y, borderColor)
           Next
       Next

       '************************************************************************
       '  Insert the old image into the bitmap
       '************************************************************************
       Dim gr As System.Drawing.Graphics = Graphics.FromImage(newBitmap)
       gr.DrawImage(bm, borderWidthInPixels, borderWidthInPixels, bm.Width, bm.Height)
       gr.Dispose()

       Return newBitmap


   End Function
منقول من هنا

استدعيتها هكذا بداخل button
كود :
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click

       Dim bm As New Bitmap(PictureBox3.Image)
       PictureBox2.Image = AddBorder(bm, Color.White, 10)
   End Sub
اتمني لكم الافاده

استطيع الان وضع النص في الاطار الذي يلف الصوره كما هو موضح في هذا الكود من خلال زياده قيمة الارتفاع

كود :
       gr.DrawString(TextBox3.Text, New Font("Times New Roman", 16, FontStyle.Bold), New SolidBrush(Color.Red), New PointF(5, 90))
من خلال  تغيير الرقم 90

هذا الرد للايضاح فقط
اتمني ان تكون مشاركتي إثراء للموضوع وليست إعسار له
الرد }}}}
تم الشكر بواسطة: myalsailamy , ممدوح
#3
شيء جميل لما الواحد  يضع سؤال ما يستسلم  يحاول و يحاول  الى ان يجد ضالته  ،، و الاجمل لما يضع الحل الذي وصل اليه

همسه :  
انت بالطريق الصحيح في البرمجه و حل مشاكلك بنفسك ، ناقصك فقط خبره لتعرف الكلمات المفتاحيه التي يجب عليك انت تكتبها في قوقل لتجد اجاباتك و انت بدأت في هذا المشوار ، و ان شاء الله بعد سنين ستتذكر كلامي هذا ، مشكلة اي باحث عن اجابه هو عدم تقسيم السؤال الذي يبحث عنه بسبب عدم امتلاكه  الخبره او الكسل (و هذي بداية فشل المبرمج الجديد  ، و بالمناسبه هذا النوع لا يستمر بالبرمجه بعد التخرج) ، بمعنى انه يسأل لكي يحصل على الاجابه كامله ، و هذا خطأ ، مهارات البحث عن المشاكل البرمجيه هو ان تجزأ  بحثك وهو كما فعلت في موضوعك بنجاح  ، أولا بحثت كيف تزيد طول الصورة ، بعدها كيف تكتب نص ، و بعدها لو كان النص عربي كيف تكتبه من اليمين الى اليسار ،و بعدها كيف  ترسم اطار حول الصوره  ، بعدها  كيف تغير شكل الاطار اما خط واحد او خطين بالاضافه الى تغيير لونه  ...الخ  

تحياتي لك
اسم معرفي : محمد يحيى
الرد }}}}
تم الشكر بواسطة: Amir_alzubidy , ممدوح , جوري
#4
وعليكم السلام ورحمة الله وبركاته

بارك الله فيك وفي أخينا محمد لثناءه وتوجيهاته

رأيت كود الدالة AddBorder ورأيته فقط لعمل إطار حول الصورة فتجبت لطوله واستخدامه حلقات For
المسألة أبسط من ذلك باستخدام gr.Clear جربي هذا الكود
كود :
Public Function AddBorderX(ByVal bm As Bitmap, ByVal borderColor As System.Drawing.Color, ByVal borderWidthInPixels As Integer) As Bitmap
    Dim newBitmap As New Bitmap(bm.Width + (borderWidthInPixels * 2), bm.Height + (borderWidthInPixels * 2))
    Dim gr As System.Drawing.Graphics = Graphics.FromImage(newBitmap)
    gr.Clear(borderColor)
    gr.DrawImage(bm, borderWidthInPixels, borderWidthInPixels, bm.Width, bm.Height)
    Return newBitmap
End Function
الرد }}}}
تم الشكر بواسطة: Amir_alzubidy , Amir_alzubidy , جوري , جوري
#5
(31-10-16, 09:14 AM)myalsailamy كتب : شيء جميل لما الواحد  يضع سؤال ما يستسلم  يحاول و يحاول  الى ان يجد ضالته  ،، و الاجمل لما يضع الحل الذي وصل اليه

همسه :  
انت بالطريق الصحيح في البرمجه و حل مشاكلك بنفسك ، ناقصك فقط خبره لتعرف الكلمات المفتاحيه التي يجب عليك انت تكتبها في قوقل لتجد اجاباتك و انت بدأت في هذا المشوار ، و ان شاء الله بعد سنين ستتذكر كلامي هذا ، مشكلة اي باحث عن اجابه هو عدم تقسيم السؤال الذي يبحث عنه بسبب عدم امتلاكه  الخبره او الكسل (و هذي بداية فشل المبرمج الجديد  ، و بالمناسبه هذا النوع لا يستمر بالبرمجه بعد التخرج) ، بمعنى انه يسأل لكي يحصل على الاجابه كامله ، و هذا خطأ ، مهارات البحث عن المشاكل البرمجيه هو ان تجزأ  بحثك وهو كما فعلت في موضوعك بنجاح  ، أولا بحثت كيف تزيد طول الصورة ، بعدها كيف تكتب نص ، و بعدها لو كان النص عربي كيف تكتبه من اليمين الى اليسار ،و بعدها كيف  ترسم اطار حول الصوره  ، بعدها  كيف تغير شكل الاطار اما خط واحد او خطين بالاضافه الى تغيير لونه  ...الخ  

تحياتي لك
وسام علي صدري  - انار الله لك الدنيا وزادك من علمه 
وادخل البهجه علي صدرك -وسقاك من حوض نبيه  الكريم - واظلك تحت عرشه 

والله - لقد قرأت ردك الكريم - وكلما انتهيت احببت قرائته مرة اخري وهذا ما يحدث لي في كل مره

تدخل البهجه الي صدري بفضل الله وحده وكنت سببا - يزيدني ثقة في ان ما اقضيه من وقت في البرمجه لا يضيع هباء

ويكفي ان وجودك في الموضوع يعلي من شأن كاتبه 

"أستاذي واخي الكريم "محمد يحيى" تقبل فائق احترامي

ولك جزيل الشكر بعد الله

(31-10-16, 02:08 PM)ممدوح كتب : وعليكم السلام ورحمة الله وبركاته

بارك الله فيك وفي أخينا محمد لثناءه وتوجيهاته

رأيت كود الدالة AddBorder ورأيته فقط لعمل إطار حول الصورة فتجبت لطوله واستخدامه حلقات For
المسألة أبسط من ذلك باستخدام gr.Clear جربي هذا الكود
كود :
Public Function AddBorderX(ByVal bm As Bitmap, ByVal borderColor As System.Drawing.Color, ByVal borderWidthInPixels As Integer) As Bitmap
   Dim newBitmap As New Bitmap(bm.Width + (borderWidthInPixels * 2), bm.Height + (borderWidthInPixels * 2))
   Dim gr As System.Drawing.Graphics = Graphics.FromImage(newBitmap)
   gr.Clear(borderColor)
   gr.DrawImage(bm, borderWidthInPixels, borderWidthInPixels, bm.Width, bm.Height)
   Return newBitmap
End Function
وبارك الله فيك  , اخي ممدوح 
سلمت اناملك الذكيه - لقد فهمته فعدلته - فاصبح بسيطا -يسهل فهمه 
وقد جربته وقام بنفس الوظيفه بالفعل 
فشكرا جزيلا لك 


 
اتمني ان تكون مشاركتي إثراء للموضوع وليست إعسار له
الرد }}}}
تم الشكر بواسطة: ممدوح


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] هل يمكن الاستغناء عن التايمر واستخدام شئ بديل يكون افضل ؟ !! الماجيك مسعد 7 110 08-12-16, 06:58 AM
آخر رد: silverlight
  مطلوب تعديلات في هذه الاكواد بحيث تكون فعاله اكثر معتز الجازوي 2 81 28-11-16, 05:36 PM
آخر رد: معتز الجازوي
  لوسمحتو اريد كود لتنزيل ملف يكون به شي معين ddemed 5 131 06-10-16, 10:38 PM
آخر رد: silverlight
  [سؤال] عمل كلير للداتا سيت بدون حذف بيانات الداتا جريد %Eman% 28 519 20-09-16, 02:41 AM
آخر رد: %Eman%
  [VB.NET] عمل Setup او تحزيم لبروجكيت يحتوي SQl database بحيث يعمل على اي حاسبه لا تحتوي على SQ prog.alaa2012 4 207 16-09-16, 12:33 PM
آخر رد: prog.alaa2012
Star تقرير SQL في RDLC بدون قواعد بيانات Kian Tech 16 426 23-08-16, 01:02 AM
آخر رد: Kian Tech
  كيف التحقق من صوره اذا كانت نفس الصورة ام لا Mohamed20 4 164 06-08-16, 03:55 PM
آخر رد: Mohamed20
  كيف جعل مابداخل الفورم يكون في الوسط عند تكبير الفورم في حالة التشغيل طالب 22 5 247 26-07-16, 12:19 PM
آخر رد: الوادي
  [VB.NET] كيفية الاتصال بين برنامجين بدون سوكت وبدون بورت؟ الماجيك مسعد 12 604 27-05-16, 01:10 AM
آخر رد: CLARO
  طباعة التقرير في الريبورت فيور بدون عرض nali 8 453 06-04-16, 10:38 PM
آخر رد: nali

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


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