منتدى فيجوال بيسك لكل العرب

نسخة كاملة : كيف نطبع صورة بحجم الورقة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
كيف يمكن طباعة صورة داخل picturebox بحجم الورقة(A4) علما اني استخدم فجول بيسك دوت نت 2008
ارجو المساعدة
.....

منقول

كود :
Public Class Form1

    Dim WithEvents doc As New Printing.PrintDocument

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        doc.Print()
    End Sub

    Private Sub doc_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles doc.PrintPage
        e.Graphics.DrawImage(PictureBox1.Image, e.PageBounds)
    End Sub

End Class

.....
(07-06-14, 11:51 AM)vbnet كتب : [ -> ].....

منقول

كود :
Public Class Form1

    Dim WithEvents doc As New Printing.PrintDocument

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        doc.Print()
    End Sub

    Private Sub doc_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles doc.PrintPage
        e.Graphics.DrawImage(PictureBox1.Image, e.PageBounds)
    End Sub

End Class

.....

جزيل الشكر اخي الكريم نفذت الكود واصبحت الصورة بحجم الورقة لكن ضهرت مشكلة بدقة الصورة اي ان الصورة غير واضحة
ادرجت التنفيذ بلمرفقات ارجو المساعدة
الصورة الاصلية
[attachment=1944]
بعد التنفيذ
[attachment=1945]
(07-06-14, 12:25 PM)زيد كتب : [ -> ]...نفذت الكود واصبحت الصورة بحجم الورقة لكن ضهرت مشكلة بدقة الصورة اي ان الصورة غير واضحة
...

.....

طبيعي فالصورة أصلاً دقتها صغيرة (حجمها صغير)، استخدم صورة بدقة كبيرة (حجمها كبير) لترى الفرق

جرب هذا الكود قد تحسن الصورة قليلا

منقول

كود :
Public Class Form1

    Dim WithEvents doc As New Printing.PrintDocument

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        doc.Print()
    End Sub

    Private Sub doc_PrintPage(ByVal sender As Object, ByVal e As Printing.PrintPageEventArgs) Handles doc.PrintPage
        e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias

        Dim img As Image = PictureBox1.Image
                
        ' تدوير الصورة إذا كان عرضها أكبر من ارتفاعها لتكون مناسبة عند الطباعة على الورقة
        If PictureBox1.Image.Width > PictureBox1.Image.Height Then
            img.RotateFlip(RotateFlipType.Rotate90FlipNone)
        End If
        
        e.Graphics.DrawImage(img, e.PageBounds)
    End Sub

End Class
.....
الف شكر اخي الكريم وفقك الله لكل خير
هل هذا الكود يقوم بطباعة الصورة ايضاً التى هي على Form وليست على Picturebox مثلا
واذا كان لا ..؟
هل يمكن افادة بكود يقوم بعمل طباعة الصورة التى على Form بحجم A4
للعلم انا استخدم الاداة VisualBasicPowerPacks لطباعة الصورة من على Form.


للعلم ان استخدم vb.net2010 and 2012

وشكراً ..
(08-06-14, 04:18 PM)dbahl كتب : [ -> ]هل هذا الكود يقوم بطباعة الصورة ايضاً التى هي على Form وليست على Picturebox مثلا
واذا كان لا ..؟
هل يمكن افادة بكود يقوم بعمل طباعة الصورة التى على Form بحجم A4
للعلم انا استخدم الاداة VisualBasicPowerPacks لطباعة الصورة من على Form.
للعلم ان استخدم vb.net2010 and 2012
...

.....

فقط حدد الصورة مكان PictureBox1.Image في كود الحدث PrintPage

.....
السلام عليكم
أخي عضو متميز ،، الاداة Printform التى استخدمها ليس لها حدث Printpage
وشكراً
السلام عليكم ان جربت الكود اعطاني خطاء تدفق البيانات مغلق ؟
(15-06-19, 02:29 PM)ensaf sh كتب : [ -> ]السلام عليكم ان جربت الكود اعطاني خطاء تدفق البيانات مغلق ؟
وعليكم السلام ورحمة الله وبركاته
ارفق صورة او قم بوضع الرسالة الخطاء التى تظهر معك

حتى توضح سبب المشكلة لديك لافادتك

تحياتى لك
وتمنياتى لك التوفيق