AspJpeg是asp与asp.net常用的图片组件,AspJpeg组件常用来给图片添加文字水印、图片水印,合成图片,生成验证码等等,青岛星网下面跟大家分享:AspJpeg组件的属性使用说明 。
//实例化组件 ASPJPEGLib.IASPJpeg objJpeg = new ASPJPEGLib.ASPJpeg(); //打开源图片文件 objJpeg.Open(Server.MapPath("aaa.JPG")); //添加水印文字 objJpeg.Canvas.Font.Color = 0xFF0000; // 水印字体颜色 objJpeg.Canvas.Font.Family = "Courier New";//水印字体 objJpeg.Canvas.Font.Size = 14;//水印字体大小 objJpeg.Canvas.Font.Bold = 1; // 是否粗体,粗体用:True(1),False(0) objJpeg.Canvas.Font.Quality = 4; // 品质 objJpeg.Canvas.Font.BkMode = "Opaque"; // 字体背景颜色,这里为透明(Opaque) objJpeg.Canvas.Print( 10, 10, "Copyright (c) Hdut.Com", Missing.Value );//水印文字,两个数字10为水印的xy座标 objJpeg.Save( Server.MapPath("aaa_water.jpg") ); objJpeg = null;//注销组件,释放资源
//实例化组件 ASPJPEGLib.IASPJpeg objJpeg = new ASPJPEGLib.ASPJpeg(); //打开源图片文件 objJpeg.Open(Server.MapPath("aaa.JPG")); //对图片进行50%操作 objJpeg.Width = objJpeg.OriginalWidth / 2; objJpeg.Height = objJpeg.OriginalHeight / 2; //如果必要进行锐化 objJpeg.Sharpen(1, 130 ); objJpeg.Save(Server.MapPath("aaa_small.jpg"));//生成缩略图位置及名称 objJpeg = null;//注销组件,释放资源
//得到4位数的验证码 Random rd = new Random(); Session["random_num"] = rd.Netx(1000,9999); //实例化组件 ASPJPEGLib.IASPJpeg objJpeg = new ASPJPEGLib.ASPJpeg(); //打开背景图片文件 objJpeg.Open(Server.MapPath("back.JPG")); Jpeg.Canvas.Font.Color = &H006699 Jpeg.Canvas.Font.Family = "Arial Black" Jpeg.Canvas.Font.Bold = false Jpeg.Canvas.PrintText 0, -2, random_num jpeg.save(Server.MapPath("random_index.jpg")) //保存 <img src="random_index.jpg" border="0" align="absmiddle">
一直以来,对aspjpeg不了解的人以为是无法用它来进行切割的。
其实有这样的一个方法的:crop(x1,y1,x2,y2)
切割长方型左上角x坐标,y坐标 右下角x坐标 y坐标
//实例化组件 ASPJPEGLib.IASPJpeg objJpeg = new ASPJPEGLib.ASPJpeg(); //打开图片文件 objJpeg.Open(Server.MapPath("aaa.JPG")); objJpeg.width=70 objJpeg.Height = objJpeg.OriginalHeight*70; objJpeg.crop(0,0,70,52);//开始切割其实是把超过52象素的下部分去掉 objJpeg.save(server.MapPath("aaa_1.gif"));//保存 '怎么样,很简单吧
我们这里是要把公司名字图片加到aaa.jpg图片上去
其实,图片合并的方法也可以用来动态打水印哦
//实例化组件 ASPJPEGLib.IASPJpeg objJpeg = new ASPJPEGLib.ASPJpeg(); //打开图片文件 objJpeg.Open(Server.MapPath("aaa.JPG")); //实例化logo组件 ASPJPEGLib.IASPJpeg logo = new ASPJPEGLib.ASPJpeg(); //打开logo图片文件 logo.Open(Server.MapPath("logo.JPG")); Logo.Width = 70; Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth;//重新定义大小 //将logo合并到图片中去 objJpeg.DrawImage(0, 0, Logo); 补充说明: DrawImage(int x,int y,ASPJPEGLib.ASPJpeg Image,object Opacity,object TranspColor,object Deviation) x: 横坐标 y: 纵坐标 Image: 图片 Opacity: 默认为1,使用透明,可取值为0,1 TranspColor: 透明颜色,十六进制 Deviation: 透明值(0-255),默认为0
这里建议使用:objJpeg.Canvas.DrawPNG(x,y,Server.MapPath("/images/hhdut.png"));
这样不仅快些,而且不会出错
//画一条直线
Canvas.Line(Left, Top, Right, Bottom);
//画出一个椭圆
Canvas.Ellipse(Left, Top, Right, Bottom);
//画出一个圆
Canvas.Circle(X, Y, Radius);
//画出一个长方形,上面有代码介绍了
Canvas.Bar(Left, Top, Right, Bottom);
//文字阴影颜色
Canvas.Font.ShadowColor;
//阴影X坐标设定
int64 Canvas.Font.ShadowXOffset;
//Y坐标设定
int64 Canvas.Font.ShadowYOffset;
//文字背景
String Canvas.Font.BkMod