我有一些代碼用於以編程方式創建一個文檔發送到打印機。它是這樣的:c#圖形創建
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對象來繪製。我想也許是位圖?位圖當然是基於像素而不是基於點的,所以我不確定這是否是最好的介質。
你可以得到一個圖形對象來自許多不同的地方,如圖像和控件。您可能會想要查看DpiX,DpiY,PageScale和PageUnit(也許是我現在不記得的其他幾個屬性)屬性,以便從不同來源獲取圖形對象以類似方式運行。使用調試器調查PrintPage事件中圖形對象的值以獲得良好的起點。 – 2009-06-04 22:20:22