Я хочу напечатать два изображения на одной странице. Я пробовал под кодом, но он печатает все изображения на разных страницах.печать двух изображений на одной странице C#
public void PD_PrintPage(object sender, PrintPageEventArgs e)
{
float W = e.MarginBounds.Width;
float H = e.MarginBounds.Height;
for (; FileCounter >= 0; FileCounter--)
{
try
{
Bitmap Bmp = new Bitmap(BmpFiles[FileCounter]);
if (Bmp.Width/W < Bmp.Height/H)
W = Bmp.Width * H/Bmp.Height;
else
H = Bmp.Height * W/Bmp.Width;
e.Graphics.DrawImage(Bmp, 0, 0, W, H);
break;
}
catch
{
}
}
FileCounter -= 1;
if (FileCounter > 0)
{
e.HasMorePages = true;
}
else
{
FileCounter = BmpFiles.Length - 1;
}
}
это будет печатать все изображения в другой странице
Я хочу, чтобы некоторые функции, которые будут печатать одно изображение, оставить некоторое пространство и снова Прайн другое изображение в той же странице, если пространство осталось.
Как проверить, достаточно места для следующего изображения – User5590
У вас есть свойство PageBounds в EventArguments. Они представляют общую площадь страницы. Вы также знаете, каков ваш образ. Все остальное - всего лишь математика. Помните, что 0; 0 находится в верхнем левом углу! Используйте вершину (или y) свойства и вычитайте высоту изображения с некоторым смещением, чтобы иметь место между изображениями. Затем проверьте, достаточно ли высоты для оставшейся области для вашего изображения. Также вы, возможно, должны оставить некоторое пространство на границах страницы. – Onsokumaru
Обычно создание методов печати приводит к попыткам, если все подходит по желанию. Это нехорошо, но единственный способ получить вещи правильно. Использование pdf-принтера (например, freepdf) помогает в этом;) – Onsokumaru