111,104
社区成员




Image img = Image.FromStream(stream);
//截取当前窗体图像
Bitmap bitFormImg = new Bitmap(this.Width, this.Height);
this.DrawToBitmap(bitFormImg, new Rectangle(0, 0, this.Width, this.Height));
int border = (this.Width - this.ClientSize.Width) / 2;//边框宽度
int caption = (this.Height - this.ClientSize.Height) - border;//标题栏高度
//截取签字区域图像(去边框、标题栏)
Bitmap bitSignatureImg = bitFormImg.Clone(new Rectangle(border, caption, this.ClientSize.Width, this.ClientSize.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb);
//创建内存流
MemoryStream Ms = new MemoryStream();
//将图像保存至内存流
bitSignatureImg.Save(Ms, ImageFormat.Bmp);
bitFormImg.Dispose();
bitSignatureImg.Dispose();
byte[] img = new byte[Ms.Length];
Ms.Position = 0;
Ms.Read(img, 0, Convert.ToInt32(Ms.Length));
Ms.Close();
string result = Convert.ToBase64String(img);
/// <summary>
/// 将By数组转为Image数据
/// </summary>
/// <param name="bytes"></param>
/// <returns></returns>
public Image BytesToImage(byte[] bytes)
{
MemoryStream ms = new MemoryStream(bytes);
Image img = Image.FromStream(ms);
//图片加文字水印
//ImageWaterMark(img);
return img;
}
string image = 图片二进制数据字符串。;
//第一个方法这里已经把图片二进制数据存储为字符串了。
//string result = Convert.ToBase64String(img);
byte[] by = Convert.FromBase64String(image);
//绑定图片
this.pictureBox1.Image = BytesToImage(by);