Hallo,
ich habe eine Frage zu folgendem Problem...
Ich möchte ein Image aus meiner PictureBox ganzseitig auf eine DINA4 Seite drucken.
Eine DINA4 Seite müsste bei einem Drucker mit 300dpi ja 2480x3508 Pixel groß sein. Das ist für meine Form natürlich zu groß also verwende ich die Maße geteilt durch 5.
-> d.h. ich habe jetzt ein Image mit 496x701 Pixel
Um dieses Image zu drucken habe ich bereits etwas Code geschrieben.
Wie schaffe ich es nun, dass das Bild "gestrecht" auf die DINA4 Seite gedruckt wird?
(Einfach das Image auf 2480x3508 Pixel zu strechen funktioniert nicht... bzw. druckt das Bild viel zu groß)
private void button1_Click(object sender, EventArgs e)
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += PrintPage;
pd.OriginAtMargins = true;
pd.Print();
}
private void PrintPage(object o, PrintPageEventArgs e)
{
System.Drawing.Image img = pictureBox1.Image;
Point loc = new Point(0, 0);
e.Graphics.DrawImage(img, loc);
}
Liebe Grüße
Mario
Hallo,
könnte mit dem Wert der Graphics.PageUnit
-Property zusammenhängen.
Hast Du mal ve3sucht, was in de Doku steht?
e.Graphics.DrawImage(img, e.Graphics.VisibleClipBounds);
Damit müsse die Umrechnerei und Skalierung automatisch in der richtigen Einheit laufen. Ausprobiert habe ich es aber jetzt nicht.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca