تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[عنوان معدل]كيف أطبع صورة من PictureBox
#1
السلام عليكم
ارجوا من الاعضاء في المنتدى كود طباعة الصوره من picture box واكون منون لان باجر لازم اسلم البرنامج ان شاء الله علما ان البرنامج في فجوال بيسك 2008
الرد }}}
تم الشكر بواسطة:
#2
[b][COLOR="#800080"]السلام عليكم

تم تعديل العنوان ونقل الموضوع ,برجاء التقيد بقوانين المنتدى وكتابة المواضيع في الاقسام المخصصة لها وكتابة عنوان مناسب بدون كلمات (رجاءا ,مساعدة ,.......) وبخلاف ذلك يتعرض الموضوع للحذف[/COLOR]


اخي العزيز اولا اضف أداتي الPrintDocument و الـ PringDialog الى المشروع ومن ثم كلك مرتين على الـPrintDocument واكتب هذا الكود:

PHP كود :
e.Graphics.DrawImage(pictureBox1.Imagee.MarginBounds.Lefte.MarginBounds.ToppictureBox1.WidthpictureBox1.Height

وهذا الكود في زر الPrint أي الطباعة تكون من خلال هذا الكود:

PHP كود :
printDialog1.Document printDocument1
            
If printDialog1.ShowDialog() = DialogResult.OK Then
                printDocument1
.Print()
            
End If 

موفق ان شاءالله[/b]
الرد }}}
تم الشكر بواسطة:
#3
السلام عليكم
انصحك بالذهاب الى هذا المنتدى http://vbcity.com/forums/p/161428/690646.aspx
هذا هو الكود منقول من XTab ولكني غير مسئول عن صحته لاني لم اجربه
FriendWithEvents prntDoc AsNew PrintDocument()

Private Print_Image As Image

Declare Auto Function BitBlt Lib "GDI32.DLL" ( _

ByVal hdcDest As IntPtr, _

ByVal nXDest As Integer, _

ByVal nYDest As Integer, _

ByVal nWidth As Integer, _

ByVal nHeight As Integer, _

ByVal hdcSrc As IntPtr, _

ByVal nXSrc As Integer, _

ByVal nYSrc As Integer, _

ByVal dwRop As Int32) As Boolean

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

'print picture

Dim prnDialog As New PrintDialog()

'Get a Graphics Object from the form

Dim FormG As Graphics = Me.PictureBox1.CreateGraphics

'Create a bitmap from that graphics

Dim i As New Bitmap(Me.Width, Me.Height, FormG)

'Create a Graphics object in memory from that bitmap

Dim memG As Graphics = Graphics.FromImage(i)

'get the IntPtr's of the graphics

Dim HDC1 As IntPtr = FormG.GetHdc

Dim HDC2 As IntPtr = memG.GetHdc

'get the picture

BitBlt(HDC2, 0, 0, Me.PictureBox1.Width, Me.PictureBox1.Height, HDC1, 0, 0, 13369376)

'Clone the bitmap so we can dispose this one

Me.Print_Image = i.Clone()

'Clean Up

FormG.ReleaseHdc(HDC1)

memG.ReleaseHdc(HDC2)

FormG.Dispose()

memG.Dispose()

i.Dispose()

prnDialog.Document = prntDoc

' Optional Dialog:

'Dim r As DialogResult = prnDialog.ShowDialog

'If r = DialogResult.OK Then

prntDoc.Print()

'End If

End Sub

Private Sub prntDoc_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles prntDoc.PrintPage

e.Graphics.DrawImage(Print_Image, 0, 0)

End Sub
صاحب الرد عن السؤال هو
Ged Mead (XTab)
ارجو ان يناسبك
الرد }}}
تم الشكر بواسطة:
#4
السلام عليكم ورحمة الله وبركاته
لدي مثال استفاديت منه في طباعة الفورم وماعليه
اتمنى ان ينفعك
ارفقته لك
ربي يحفظك


الملفات المرفقة
.rar   PrintformSample.rar (الحجم : 74.08 ك ب / التحميلات : 153)
الرد }}}
تم الشكر بواسطة:
#5
بارك الله بيك اخ سجاد واعذرني لاني لم اقرأ قوانين المنتدى
اريد مع هذا الكود كود تعديل الحجم لان الصورة طلعت صغير واني اريدها a4
علما اني اريد اطبع عدد من الصور في نفس الفولدر كيف يمكن ذلك
الرد }}}
تم الشكر بواسطة:
#6
تسلم اخ مبرمج بلا حدود للجميع
لكن الملف المرفق لم يعمل
الرد }}}
تم الشكر بواسطة:
#7
السلام عليكم

عدل كود الحدث الى التالي:

PHP كود :
Dim w As IntegerAs Integer
            w 
pictureBox1.Image.Width
            h 
pictureBox1.Image.Height
            
If (e.MarginBounds.WidthOrElse (e.MarginBounds.HeightThen
                Dim f 
As Single Math.Min(CSng(e.MarginBounds.Width) / wCSng(e.MarginBounds.Height) / h)
                
CInt(Math.Truncate(w))
                
CInt(Math.Truncate(h))
            
End If
            
e.Graphics.DrawImage(pictureBox1.Imagee.MarginBounds.Lefte.MarginBounds.Topwh

اخي العزيز اجلب مسارات الصور من المجلد الى مضفوفة ومن ثم عن طريق المصفوفة اسند الصور الى الPictureBox ومن ثم اطبع فيكون الكود كالتالي:

PHP كود :
Dim pics As New List(Of String)
        
pics.AddRange(IO.Directory.GetFiles("D:\\صور"))
        
PictureBox1.Image Image.FromFile(pics(0)) 

الكود أعلاه يقوم بجلب جميع الصور في المجلد (صور) وعن طريق الIndex نقوم بعرض الصورة في الPictureBox
الرد }}}
تم الشكر بواسطة:
#8
بارك الله بيك اخي سجاد
بس ظهرت عندي مشكلة هي تظهر نافذة تطلب اسم مخرج الملف [ATTACH=CONFIG]3319[/ATTACH]


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#9
اخوية ارفع المثال حته اعدل عيله
الرد }}}
تم الشكر بواسطة:
#10
عمر البغدادي كتب :تسلم اخ مبرمج بلا حدود للجميع
لكن الملف المرفق لم يعمل

ربي يسلمك ويحفظك
ربي يبارك فيك
اخوية المثال المرفقة بلغة فيجوال 2010
الرد }}}
تم الشكر بواسطة:



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


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