在线生成印章是怎样实现的呢?请大家指教,在线等
在线生成印章是怎样实现的呢?
参考网站:http://home.kele8.com/smallgame/signetImg/default.aspx
效果类似于上面的参考网站,我刚开始是认为是通过System.Drawing实现的,但后来一想,用System.Drawing绘制图片好像也很麻烦,请大家指教
[解决办法]
近来学习了
[解决办法]
就是System.Drawing啊 套用字体就行了
[解决办法]
找一个 缩略图 加 水印的 教程 看看 一样的。
[解决办法]
有意思
[解决办法]
一般oa里常用这个,是一个activex控件的,嵌在网页上的,通常是用vc开发的
[解决办法]
难道不是Drawing来着的吗?
[解决办法]
再简单不过的功能,System.Drawing中几行代码就能搞定。
前些天刚写了个个人名片功能,功能比这个复杂很多,帖出代码供参考:
/// <summary>
/// 根据传入参数生成个人名片
/// </summary>
/// <param name="tempFilePath">模版文件路径</param>
/// <param name="targetFilePath">目标文件路径</param>
/// <param name="loc0">头像(坐标)</param>
/// <param name="loc1">单位(坐标)</param>
/// <param name="loc2">姓名(坐标)</param>
/// <param name="loc3">称谓(坐标)</param>
/// <param name="loc4">电话(坐标)</param>
/// <param name="loc5">邮箱(坐标)</param>
/// <param name="font1">单位(字体)</param>
/// <param name="font2">姓名(字体)</param>
/// <param name="font3">称谓(字体)</param>
/// <param name="font4">电话(字体)</param>
/// <param name="font5">邮箱(字体)</param>
/// <param name="size1">单位(字体大小)</param>
/// <param name="size2">姓名(字体大小)</param>
/// <param name="size3">称谓(字体大小)</param>
/// <param name="size4">电话(字体大小)</param>
/// <param name="size5">邮箱(字体大小)</param>
/// <param name="color1">单位(颜色)</param>
/// <param name="color2">姓名(颜色)</param>
/// <param name="color3">称谓(颜色)</param>
/// <param name="color4">电话(颜色)</param>
/// <param name="color5">邮箱(颜色)</param>
/// <param name="style1">单位(文字样式)</param>
/// <param name="style2">姓名(文字样式)</param>
/// <param name="style3">称谓(文字样式)</param>
/// <param name="style4">电话(文字样式)</param>
/// <param name="style5">邮箱(文字样式)</param>
/// <param name="text1">单位</param>
/// <param name="text2">姓名</param>
/// <param name="text3">称谓</param>
/// <param name="text4">电话</param>
/// <param name="text5">邮箱</param>
/// <param name="text6">性别(0:未定义 1:男 2:女)</param>
public static void MakeMmsCard(string tempFilePath, string targetFilePath, string loc0, string loc1, string loc2, string loc3, string loc4, string loc5, string font1, string font2, string font3, string font4, string font5, int size1, int size2, int size3, int size4, int size5, string color1, string color2, string color3, string color4, string color5, int style1, int style2, int style3, int style4, int style5, string text1, string text2, string text3, string text4, string text5, int text6)
{
if (File.Exists(tempFilePath))
{
int loc_0_1 = int.Parse(loc0.Split(',')[0]);
int loc_0_2 = int.Parse(loc0.Split(',')[1]);
int loc_1_1 = int.Parse(loc1.Split(',')[0]);
int loc_1_2 = int.Parse(loc1.Split(',')[1]);
int loc_2_1 = int.Parse(loc2.Split(',')[0]);
int loc_2_2 = int.Parse(loc2.Split(',')[1]);
int loc_3_1 = int.Parse(loc3.Split(',')[0]);
int loc_3_2 = int.Parse(loc3.Split(',')[1]);
int loc_4_1 = int.Parse(loc4.Split(',')[0]);
int loc_4_2 = int.Parse(loc4.Split(',')[1]);
int loc_5_1 = int.Parse(loc5.Split(',')[0]);
int loc_5_2 = int.Parse(loc5.Split(',')[1]);
int color_1_1 = int.Parse(color1.Split(',')[0]);
int color_1_2 = int.Parse(color1.Split(',')[1]);
int color_1_3 = int.Parse(color1.Split(',')[2]);
int color_2_1 = int.Parse(color2.Split(',')[0]);
int color_2_2 = int.Parse(color2.Split(',')[1]);
int color_2_3 = int.Parse(color2.Split(',')[2]);
int color_3_1 = int.Parse(color3.Split(',')[0]);
int color_3_2 = int.Parse(color3.Split(',')[1]);
int color_3_3 = int.Parse(color3.Split(',')[2]);
int color_4_1 = int.Parse(color4.Split(',')[0]);
int color_4_2 = int.Parse(color4.Split(',')[1]);
int color_4_3 = int.Parse(color4.Split(',')[2]);
int color_5_1 = int.Parse(color5.Split(',')[0]);
int color_5_2 = int.Parse(color5.Split(',')[1]);
int color_5_3 = int.Parse(color5.Split(',')[2]);
//原图
System.Drawing.Image oldImage = System.Drawing.Image.FromFile(tempFilePath, true);
System.Drawing.Image newImage = new System.Drawing.Bitmap(oldImage.Width, oldImage.Height);
System.Drawing.Graphics g0 = System.Drawing.Graphics.FromImage(newImage);
g0.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
g0.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g0.Clear(Color.White);
g0.DrawImage(oldImage, new System.Drawing.Rectangle(0, 0, newImage.Width, newImage.Height), new System.Drawing.Rectangle(0, 0, oldImage.Width, oldImage.Height), System.Drawing.GraphicsUnit.Pixel);
//通用头像
if (text6 == 0)
{
string headFile = tempFilePath.Substring(0, tempFilePath.LastIndexOf('.')) + "_0.PNG";
if (File.Exists(headFile))
{
System.Drawing.Image headImage = System.Drawing.Image.FromFile(@headFile);
System.Drawing.Graphics g100 = Graphics.FromImage(newImage);
g100.DrawImage(headImage, new System.Drawing.Rectangle(loc_0_1, loc_0_2, headImage.Width, headImage.Width));
g100.Dispose();
headImage.Dispose();
}
}
//男头像
if (text6 == 1)
{
string headFile = tempFilePath.Substring(0,tempFilePath.LastIndexOf('.')) + "_1.PNG";
if (File.Exists(headFile))
{
System.Drawing.Image headImage = System.Drawing.Image.FromFile(@headFile);
System.Drawing.Graphics g100 = Graphics.FromImage(newImage);
g100.DrawImage(headImage, new System.Drawing.Rectangle(loc_0_1, loc_0_2, headImage.Width, headImage.Width));
g100.Dispose();
headImage.Dispose();
}
}
//女头像
if (text6 == 2)
{
string headFile = tempFilePath.Substring(0, tempFilePath.LastIndexOf('.')) + "_2.PNG";
System.Drawing.Image headImage = System.Drawing.Image.FromFile(@headFile);
System.Drawing.Graphics g100 = Graphics.FromImage(newImage);
g100.DrawImage(headImage, new System.Drawing.Rectangle(loc_0_1, loc_0_2, headImage.Width, headImage.Width));
g100.Dispose();
headImage.Dispose();
}
//(单位)
System.Drawing.Graphics g1 = System.Drawing.Graphics.FromImage(newImage);
System.Drawing.Font f1 = new Font(font1, size1, GetFontStyle(style1), GraphicsUnit.Pixel);
System.Drawing.Brush b1 = new SolidBrush(Color.FromArgb(color_1_1, color_1_2, color_1_3));
g1.DrawString(text1, f1, b1, loc_1_1, loc_1_2);
g1.Dispose();
//(姓名)
System.Drawing.Graphics g2 = System.Drawing.Graphics.FromImage(newImage);
System.Drawing.Font f2 = new Font(font2, size2, GetFontStyle(style2), GraphicsUnit.Pixel);
System.Drawing.Brush b2 = new SolidBrush(Color.FromArgb(color_2_1, color_2_2, color_2_3));
g2.DrawString(text2, f2, b2, loc_2_1, loc_2_2);
g2.Dispose();
接下..
[解决办法]
学习
[解决办法]
刚才那网页提示 发现错误,GDI+ 中发生一般性错误
[解决办法]
刚入行,代码一多看的头晕
[解决办法]
学习
[解决办法]
学习。
------------------------------------
要了解我的详细信息请进入我的主页Bridal gown或Bridal shop
[解决办法]
mark
[解决办法]
你可以在Photoshop里面绘制好,用GDI+贴图上去啊。没有人说一定要整个印章都用GDI+从零开始绘制的吧。
[解决办法]
用户画图控件或者语句写一下就可以了呀
[解决办法]
ding
[解决办法]
只不过是水印效果吗,也可能换成PDF来加签名的~
[解决办法]
Mark!
[解决办法]
mark
[解决办法]
ding
[解决办法]
mark
[解决办法]
mark
[解决办法]
到网上找 "图片+水印"
[解决办法]
up