c# Bitmap 填充画布

private void GetCombinImage()
{
  string folder = System.IO.Path.Combine(Environment.CurrentDirectory, "iconfold");

  #region 说明
  //1.先是根据路径读取图片,类型是System.Drawing.Image
  //2.然后将图片转换为Bitmap的实例
  //3.将bigmap绘制到Graphics的实例上
  //4.从bitmap获取数据流
  //5.释放几个bitmap文件
  #endregion

  var width = 200;
  var height = 200;
  // 初始化画布(最终的拼图画布)并设置宽高
  System.Drawing.Bitmap bitMap = new System.Drawing.Bitmap(width, height);
  // 初始化画板
  System.Drawing.Graphics g1 = System.Drawing.Graphics.FromImage(bitMap);
  //将画布涂为白色(底部颜色可自行设置)
  g1.FillRectangle(System.Drawing.Brushes.White, new System.Drawing.Rectangle(0, 0, width, height));
  //g1.DrawImage 是将Bitmap绘制到Graphics上

  #region 向画板上填充图片

  System.Drawing.Image img_jcp = System.Drawing.Image.FromFile(System.IO.Path.Combine(folder, "jcp.png"));
  System.Drawing.Bitmap map_jcp = new System.Drawing.Bitmap(img_jcp);
  g1.DrawImage(map_jcp, 0, 0);

  string filePath = folder + "\\aa.png";
  bitMap.Save(filePath);

  #endregion

  DisposeBitMap(bitMap);
  DisposeBitMap(map_jcp);
}

private void DisposeBitMap(System.Drawing.Bitmap img)
{
  if (img != null)
  {
    img.Dispose();
  }
}

posted on 2022-01-19 18:30  呵呵da  阅读(446)  评论(0)    收藏  举报

导航