تقييم الموضوع :
  • 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
وبارك الله فيك  , اخي ممدوح 
سلمت اناملك الذكيه - لقد فهمته فعدلته - فاصبح بسيطا -يسهل فهمه 
وقد جربته وقام بنفس الوظيفه بالفعل 
فشكرا جزيلا لك 


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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل يكون فيجوال بيسك 6 أقوى احيانا؟ abudawoodd 1 44 منذ 8 ساعة مضت
آخر رد: abudawoodd
  [VB.NET] كيفية رفع صوره مع السؤال في المنتدي engmedomed@gmail.com 3 108 02-01-17, 08:24 PM
آخر رد: Basil Abdallah
  مساعدة لو سمحتو (طريقة تحريك صورة من خلال احداثيات موجودة في ملف نصي بدون ازرار) marten363 3 96 27-12-16, 08:20 PM
آخر رد: مساعدة
  [سؤال] كيف اخلي البرنامج يشتغل بدون نت فروم ورك و طريقة اختيار النت فروم ورك hassan 9 4,344 27-12-16, 01:25 PM
آخر رد: Basil Abdallah
  [VB.NET] هل يمكن الاستغناء عن التايمر واستخدام شئ بديل يكون افضل ؟ !! الماجيك مسعد 7 203 08-12-16, 06:58 AM
آخر رد: silverlight
  مطلوب تعديلات في هذه الاكواد بحيث تكون فعاله اكثر معتز الجازوي 2 131 28-11-16, 05:36 PM
آخر رد: معتز الجازوي
  لوسمحتو اريد كود لتنزيل ملف يكون به شي معين ddemed 5 197 06-10-16, 10:38 PM
آخر رد: silverlight
  [سؤال] عمل كلير للداتا سيت بدون حذف بيانات الداتا جريد %Eman% 28 693 20-09-16, 02:41 AM
آخر رد: %Eman%
  [VB.NET] عمل Setup او تحزيم لبروجكيت يحتوي SQl database بحيث يعمل على اي حاسبه لا تحتوي على SQ prog.alaa2012 4 238 16-09-16, 12:33 PM
آخر رد: prog.alaa2012
Star تقرير SQL في RDLC بدون قواعد بيانات Kian Tech 16 524 23-08-16, 01:02 AM
آخر رد: Kian Tech

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


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