控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

图片合成

作者:佚名 出处:互联网 2011年03月17日 阅读:

#region 图片合成

/// <summary>
/// 合成图片
/// </summary>
/// <param name="fileFoldUrl">文件夹url</param>
/// <param name="fileName">文件名</param>
/// <param name="_alMemo">要合成的每张图片的大小数组</param>
/// <param name="_width">合成后的宽度</param>
/// <param name="_height">合成后的高度</param>
public void tphc(string fileFoldUrl, string fileName, ArrayList _alMemo, int _width, int _height)
{
byte[] tp = get_tphcMemo(_alMemo, _width, _height);

this.view_picture(fileFoldUrl, fileName, tp);
}

/// <summary>
/// 获取合成图片后的字节大小
/// </summary>
/// <param name="_al">要合成的每张图片的大小数组</param>
/// <param name="_width">合成后的宽度</param>
/// <param name="_height">合成后的高度</param>
/// <returns>byte[]</returns>
private byte[] get_tphcMemo(ArrayList _al, int _width, int _height)
{
//byte[]
byte[] tp = null;

//MemoryStream
MemoryStream ms = null;
MemoryStream imgms = null;

//Bitmap
Bitmap bmp = null;

//image
System.Drawing.Image img = null;

//Graphics
Graphics gp = null;

try
{
ms = new MemoryStream();

bmp = new Bitmap(_width, _height);

bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

img = System.Drawing.Image.FromStream(ms);

int i_top = 0;

for (int pic_i = 0; pic_i < _al.Count; pic_i++)
{
if (pic_i == 3)
break;

gp = Graphics.FromImage(img);

MemoryStream ms1 = new MemoryStream(((byte[])_al[pic_i]));

System.Drawing.Image img1 = System.Drawing.Image.FromStream(ms1);

Bitmap bmp1 = new Bitmap(img1);

Rectangle rtl = new Rectangle(i_top, 0, bmp1.Width, bmp1.Height);

gp.DrawImage(bmp1, rtl, 0, 0, bmp1.Width, bmp1.Height, GraphicsUnit.Pixel);

i_top += bmp1.Width;

ms1.Dispose();

img1.Dispose();

bmp1.Dispose();

gp.Dispose();
}

imgms = new MemoryStream();

img.Save(imgms, img.RawFormat);

imgms.Position = 0;

tp = new byte[imgms.Length];

imgms.Read(tp, 0, Convert.ToInt32(imgms.Length));

return tp;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}

#endregion 图片合成

/// <summary>
/// 保存图片
/// </summary>
/// <param name="fileFoldUrl">文件夹url</param>
/// <param name="fileName">文件名</param>
/// <param name="zp">文件的字节数组</param>
public void view_picture(string fileFoldUrl, string fileName, byte[] zp)
{
MemoryStream ms = new MemoryStream(zp);
Bitmap btp = new Bitmap(ms);
DirectoryInfo dti = new DirectoryInfo(fileFoldUrl);
string fileUrl = fileFoldUrl + fileName + ".jpg";
btp.Save(fileUrl);
}

 

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统