2016-06-28 2 views
1

Так что я знаю, что вы можете распечатать содержание изображения в окне изображения с помощью:Печать Полное содержание PictureBox C#

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 
{ 
    e.Graphics.DrawImage(pictureBox1.Image, 0, 0); 
} 

Чтобы напечатать фоновое изображение, мне нужно будет изменить на:

e.Graphics.DrawImage(pictureBox1.BackgroundImage, 0, 0); 

Вопрос: как вы печатаете оба?

Спасибо,

+0

Что вы имеете в виду по печати и, как вы хотите, чтобы фотографии слиты на этом же изображении? Или вы хотите печатать их один за другим. – Ogbe

+0

@ozioma оба слиты на одно изображение. Я думаю, на этот вопрос уже ответили. – NothinRandom

ответ

3

Просто сделайте фон первый:

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 
{ 
    e.Graphics.DrawImage(pictureBox1.BackgroundImage, 0, 0); 
    e.Graphics.DrawImage(pictureBox1.Image, 0, 0); 
} 
+0

Будет ли это печатать как на одном листе? Меня интересуют оба. – NothinRandom

+0

Ну, если вы сначала напечатаете фон, то «Изображение» будет напечатано поверх фона. – Darkrifts

+0

@NothinRandom Я пробовал рисовать его на форме, и это сработало, просто попробуйте на листе. – user3185569

2

Манипулирование как вы хотите ..

Bitmap bmp = new Bitmap (500,500); 
pictureBox1.DrawToBitmap(bmp, pictureBox1.DisplayRectangle); 
bmp.Save("C:\\abcd.jpg"); 
+0

Эй, Абдул. Итак, как это будет помогать при печати фонового изображения и изображения одновременно? – NothinRandom

+0

печатает оба в то же время .. вы получаете комбинированное изображение –

+1

Фактически 'DrawToBitmap' __also__ объединяет оба изображения с чем-либо, что вы __draw__ на поверхности в событии' Paint' ..! Конечно, вам не нужно его сохранять; просто 'DrawImage'' bmp' в событии 'PrintPage'. - Также обратите внимание, что он объединяет изображения, как они видны, т. Е. Без масштабирования и с одинаковым разрешением dpi! – TaW

Смежные вопросы