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


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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] سؤال ضروري (الصوره) DF.12 0 76 28-08-17, 03:08 PM
آخر رد: DF.12
  [سؤال] كيف أفتح صوره من مسار معين طـلال 1 89 28-08-17, 05:04 AM
آخر رد: سعود
  [VB.NET] كيف أسوي بحث في الداتا جريد فيو فقط بالتكست بوكس بدون زر oni 3 138 27-08-17, 12:17 AM
آخر رد: سعود
  [سؤال] مالقيمة المناسبة لــ الثريد او المؤقت بحيث يكون مجموع الصور متناسقا مع مدة الملف الصو سعود 1 88 10-08-17, 10:48 PM
آخر رد: سعود
  [VB.NET] ارجو المساعدة في مشروع صغير لكن راح يكون مفيد للجميع . 0theghost0 1 118 02-08-17, 11:50 PM
آخر رد: silverlight
  برنامج بدون اي شي ddemed 1 123 20-07-17, 11:34 AM
آخر رد: silverlight
Exclamation كيف اضيف لتاريخ اليوم عدد من الايام بدون حساب الجمعة والسبت moh_g 2 202 16-06-17, 05:01 AM
آخر رد: moh_g
Question [VB.NET] سؤال اظهار واخفاء الفورم بدون مسح بيانات الفورم AYAD VB PROF 15 480 02-06-17, 07:46 PM
آخر رد: AYAD VB PROF
  [VB.NET] كيفية اضافة change password بدون استخدام الكنترول ؟ ahmednab 1 411 26-05-17, 06:57 PM
آخر رد: النسر79
  [سؤال] كيف اخلي البرنامج يشتغل بدون نت فروم ورك و طريقة اختيار النت فروم ورك hassan 10 5,527 25-05-17, 08:04 AM
آخر رد: hatem555

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


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