У меня есть код, который используется для программного создания документа для отправки на принтер. Это выглядит примерно так:
private void pd_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs ev)
{
ev.Graphics.DrawImage(pictureBox1.Image, 50, 100);
string drawToday="Date : "+strToday;
string drawPolicyNo="Policy # : " + strPolicyNo;
string drawUser="User : " + strUser;
Font drawFont=new Font("Arial",30);
SolidBrush drawBrush=new SolidBrush(Color.Black);
PointF drawPointToday=new Point(50,400);
PointF drawPointPolicyNo=new Point(50,450);
PointF drawPointUser=new Point(50,500);
ev.Graphics.DrawString(drawToday,drawFont,drawBrush,drawPointToday);
ev.Graphics.DrawString(drawPolicyNo,drawFont,drawBrush,drawPointPolicyNo);
ev.Graphics.DrawString(drawUser,drawFont,drawBrush,drawPointUser);
}
Это эффективный код, но теперь мне нужно выполнить ту же процедуру, но вместо этого записать его в файл изображения, чтобы его можно было отправить в браузер и распечатать оттуда. Повторно использовать этот код должно быть относительно просто, но, к сожалению, я зацикливаюсь на том, какую поверхность рисования использовать для замены PrintPageEventArgument.
Спасибо
Редактировать : Спасибо, я понял, что мне просто нужен другой объект Graphics, но сам объект Graphics не имеет общедоступного конструктора, поэтому я ищу предложение о том, какой объект мне нужен подстать, чтобы иметь возможность создавать объект Graphics для рисования. Я думал, возможно, растровое изображение? Битовые карты, конечно, основаны на пикселях, а не на точечных, поэтому я не был уверен, что это лучший способ использования.