الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حفظ الصورة

بدأه JBR07 في 11 نوفمبر 2013 · 14 رد · 1,343 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

هي اول مشاركه الي بالمنتدى وان شاء الله ألقى الحل معكم

انا عملت برنامج بالفيجيوال بيسك 2010 البرنامج بيقوم بالكتابه على الصورة

وكل أشي تمام بس بدي كود لحفظ الصورة بعد الكتابه عليها مع المحافظة على الكتابه

ويفضل انو باستخدام savedialog

بانتظاركم

#2

السلام عليكم 

 

لنفترض ان لديك  Picture box1 ويحوي اى صوره على سبيل المثال  ،،، نقم باضافه زر للحفظ وبه الكود التالى حيث يقوم باضافه نص على الصورة الموجوده  

    Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click

      


      
        Dim img As New Bitmap(PictureBox1.Image, PictureBox1.Width, PictureBox1.Height)
        Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(img)
        Dim x As Integer = 10
        Dim y As Integer = 30
        g.DrawString("WWW.ARABTAEM200-FORUM>COM", New Font("Arial", 10), Brushes.White, x, y)
        PictureBox1.Image = img
        SFD.ShowDialog()







    End Sub

في الحدث لللاداه FileOk Savefiledialog اكتب الكود التالي

 Private Sub SFD_FileOk(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles SFD.FileOk
        
        Dim FileToSaveAs As String = System.IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.Temp, SFD.FileName)
        PictureBox1.Image.Save(FileToSaveAs, System.Drawing.Imaging.ImageFormat.Jpeg)


    End Sub
1

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#3

مرفق المثال السابق  VS2012

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#4

مرفق المثال السابق  VS2012

DrawPicture.rar

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#5

تسلم ايديك كل اشي تمام بس لو ما فيها غلبه :rolleyes:

ممكن طريقة اني اضيف font dialog و color dialog B)

ويصير المستخدم يقدر يغير نوع الخط او لون الخط :D

وما شاء الله عليك انسان رائع :wub:

#6

واذا امكن هل توجد طريقة لجعل المستخدم يختار مكان الكتابه :rolleyes:

#7

ما زلت بانتظاركم يا ابطال :)

اذا طلبي مستحيل او لا يمكن فعله يرجى اخباري :)

#8

السلام عليكم،،،

 

لا يوجد مستحيل فى عالم البرمجه.......يوجد بالقسم شرحات GDI+ اقراءها وارنا محاولتك واذا استصعب عليك شئ نساعدك ،،،، حاول وارنا محاولتك ومن ثم اسأل...........

1

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#9

Programing GDI+ with VB.NET

 

/index.php/topic/79068-%D9%85%D8%B9%D9%84%D9%88%D9%85%D8%A9programing-gdi-with-vbnet/

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#10

والله انك إنسان اكثر من رائع ;)

تسلم ايديك ;)

بالمناسبة استطعت تقريبا إنهاء البرنامج :)

وحليت مشكلة الخط وصرت اقدر أغير الخط وحجمه ;)

وبالنسبة للون الخط لم أستطيع إيجاد حل يتناسب مع الكود الي تم طرحه من قبل حضرتك :)

#11

نعدل الكود السابق كالتالى لنمكن المستخدم من اختيار اللون باستخدام ColorDialog

    Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click

      


      
        Dim img As New Bitmap(PictureBox1.Image, PictureBox1.Width, PictureBox1.Height)
        Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(img)
        Dim x As Integer = 10
        Dim y As Integer = 30
        'نعرف الكائن ColorDialog
        Dim CD As New ColorDialog
        'هنا اعطيته اللون الافتراضى الابيض كون الصوره سوداء ،،، اختار اللون اللى يعجبك
        CD.Color = Drawing.Color.White
        'نعرض الاداه للمتخدم ليختار اللو اللى يبيه
        CD.ShowDialog()
        'ننشى فرشاه ونعطيها اللون المختار من الاداه ColorDialog
        Dim Brush As SolidBrush = New SolidBrush(CD.Color)
        'نمررها(الفرشاه) لكان الجرافيك باللون المختار
        g.DrawString("WWW.ARABTAEM200-FORUM>COM", New Font("Arial", 10), Brush, x, y)
        PictureBox1.Image = img
        With SFD
            .Filter = "Image Files | *.jpeg"
            .ShowDialog()
        End With

    End Sub

تم تعديل هذه المشاركة بواسطة SOLO.NET في 13 نوفمبر 2013 في 01:24

1

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#12

الحمدلله تم انهاء المشروع بفضل الله ثم بمساعدة اخي solo.net ^_^

فعلا ما شاء الله عليك انسان مبدع في البرمجة والتفكير ^_^

وتم استخدام فكرة الكود لاتمام مشروعي على طريقتي :)

وتم وضع اسمك في ال About الخاصه بالبرنامج :wub:

وليكون هذا المكان مرجع لمن يهمه الامر لدي سؤال للاخ solo.net :D

هل يمكن جعل المستخدم يحرك النص براحته يعني مثل الفوتشوب او الpaint الخاص بالويندوز
;)

انا وضعت 3 خيارات للمستخدم ليحدد مكان الكتابه اما في الاعلى او في المنتصف او في الاسفل :rolleyes:

#13

السلام عليكم

 

 

نعرف المتغيرين(بارميترات الطريقة g.DrawString    (ْX,Y) ] داخل الفورم

 

نحصل على موقع نقر الماوس على Picturebox 1  فى الحدث MouseClick   من خلال e.x و e.y

 

يصبح الكود كالتالي

Imports System.Drawing.Imaging
Imports System.Drawing

Public Class Form1
    Private x As Integer = 0
    Private y As Integer = 0
    Private Sub BtnSave_Click(sender As Object, e As EventArgs) Handles BtnSave.Click
        Dim img As New Bitmap(PictureBox1.Image, PictureBox1.Width, PictureBox1.Height)
        Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(img)
        'نعرف الكائن ColorDialog
        Dim CD As New ColorDialog
        'هنا اعطيته اللون الافتراضى الابيض كون الصوره سوداء ،،، اختار اللون اللى يعجبك
        CD.Color = Drawing.Color.White
        'نعرض الاداه للمتخدم ليختار اللو اللى يبيه
        CD.ShowDialog()
        'ننشى فرشاه ونعطيها اللون المختار من الاداه ColorDialog
        Dim Brush As SolidBrush = New SolidBrush(CD.Color)
        'نمررها(الفرشاه) لكان الجرافيك باللون المختار
        g.DrawString("WWW.ARABTAEM200-FORUM>COM", New Font("Arial", 10), Brush, x, y)
        PictureBox1.Image = img
        With SFD
            .Filter = "Image Files | *.jpeg"
            .ShowDialog()
        End With

    End Sub


    Private Sub SFD_FileOk(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles SFD.FileOk

        Dim FileToSaveAs As String = System.IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.Temp, SFD.FileName)
        PictureBox1.Image.Save(FileToSaveAs, System.Drawing.Imaging.ImageFormat.Jpeg)

    End Sub

    Private Sub PictureBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseClick
        x = e.X
        y = e.Y
    End Sub
End Class

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#14

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

لا اعرف لماذا

لكن اعتقد لاننا قمنا بتحديد طول و عرض الصوره بطول وعرض الpictureBox

#15

بالنسبه للمشكله الاخيره الخطء كان مني في الكود والحمدلله تم حل المشكله :)

مواضيع مشابهة