public static Graphics HRB(string PicName, PrintPageEventArgs e)
{
//PrintPageEventArgs 圖層
Graphics pg = e.Graphics;
//暫存圖層
Graphics g;
try
{
//設定字體相關
SolidBrush brush1 = new SolidBrush(Color.Black);
Font font = new Font("新細明體", 18);
Font font1 = new Font("新細明體", 9);
//畫布大小
int width = 645;//540
int height = 455;//381
//置入圖片至Bitmap image.
Bitmap image = new Bitmap(PicName);
//重新設定圖片大小
image = new Bitmap(image, width, height);
//將圖片加入畫布
g = Graphics.FromImage(image);
//載入外部URI圖形檔案
var request0 = WebRequest.Create("URI url");
using (var response = request0.GetResponse())
using (var stream = response.GetResponseStream())
{
//透過串流將檔案取回
Bitmap BarImage = new Bitmap(stream);
//將圖檔繪製到畫布上面
g.DrawImage(BarImage, int.Parse(Math.Round(width * 0.57).ToString()), int.Parse(Math.Round(width * 0.051).ToString()));
}
//繪製文字
g.DrawString("006943137607", font1, brush1, int.Parse(Math.Round(width * 0.237).ToString()), int.Parse(Math.Round(height * 0.1777).ToString()));
// 判斷目錄下檔案是否存在
if (System.IO.File.Exists(@"button.png"))
{
try
{
//如果存在將檔案刪除
System.IO.File.Delete(@"button.png");
}
catch (System.IO.IOException exx)
{
//若有問題將錯誤訊息繪製在畫布上回傳
Font font2 = new Font("新細明體", 12);
SolidBrush brushRed = new SolidBrush(Color.Red);
pg.DrawString(exx.Message, font2, brushRed, 10, 10);
return pg;
}
}
//儲存圖片檔為PNG
image.Save("button.png", System.Drawing.Imaging.ImageFormat.Png); //存到暫存
//釋放暫存資源
image.Dispose();
g.Dispose();
//讀取圖片
Bitmap image2 = new Bitmap("button.png");
//旋轉90度 (其他旋轉角度請看這 網址 )
image2.RotateFlip(RotateFlipType.Rotate90FlipNone);
//畫上至畫布
pg.DrawImage(image2,0,0);
//釋放資源
image2.Dispose();
//回傳 畫布
return pg;
}
catch (System.ArgumentException ex)
{
Font font2 = new Font("新細明體", 12);
SolidBrush brushRed = new SolidBrush(Color.Red);
e.Graphics.DrawString(ex.Message, font2, brushRed, 10, 10);
return e.Graphics;
}
}
順時針旋轉90度後…

