摘要:合併多個圖檔 , 元件的畫面Graphic
// 合併多個圖檔 , 元件的畫面
private void simpleButton2_Click(object sender, EventArgs e)
{
SaveFileDialog f = new SaveFileDialog();
f.FileName = "~tmp.jpg";
f.Filter = "Jpeg files (*.jpg)|*.jpg";
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
// Group control 1~5 5個 Group control 元件產生五個 image
Bitmap[] imgs = new Bitmap[] { getBitmap(groupControl1)
, getBitmap(groupControl2), getBitmap(groupControl3), getBitmap(groupControl4), getBitmap(groupControl5) };
// 先開一個空白大的圖
Bitmap CombineImg = new Bitmap(groupControl1.Width, groupControl1.Height + groupControl2.Height + groupControl3.Height + groupControl4.Height + groupControl5.Height);
Graphics gc = Graphics.FromImage(CombineImg);
// 把5個畫到大圖上面
int y = 0;
for (int i = 0; i < imgs.Length; i++)
{
gc.DrawImage(imgs[i], 0, y, imgs[i].Width, imgs[i].Height);
y = y + imgs[i].Height;
}
//CombineImg.Save(@"C:\a.png", System.Drawing.Imaging.ImageFormat.Png); //可以變格式, 但我不想給這功能
CombineImg.Save(f.FileName);
}
}
// 產生這個原件的圖
private Bitmap getBitmap(DevExpress.XtraEditors.GroupControl gr)
{
Bitmap img = new Bitmap(gr.Width, gr.Height);
gr.DrawToBitmap(img, new Rectangle(0, 0, gr.Width, gr.Height));
return img;
}