日期:2014-05-18  浏览次数:20745 次

一个关于图片处理小软件的问题
[b][color=#008000]
一个关于图片处理小软件的问题,先谢谢个~~~


有一些学生证件图片,2寸,JPG格式,每个照片都是以学生学号命名好的了,

想 1、批量在每个照片底部加上学生姓名,(学生姓名和学号对应的excel表是现成的)

2、然后每个学生6张这样的照片合成到一个JPG图上(就是一版6张照片,这条1只要实现,可以让照相馆做也行)

如何用vc#来实现呢?思路或者用什么插件或是dll库呢?

谢谢![/color]
[/b]

------解决方案--------------------
给你一些类似的代码,你自己组装一下:

System.Drawing.Image watermarkImage = System.Drawing.Image.FromFile(filePath);
System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(watermarkImage);
graphics.DrawImage(watermarkImage, 0, 0, watermarkImage.Width, watermarkImage.Height);
System.Drawing.Font font = new System.Drawing.Font(fontType, fontSize);
System.Drawing.Brush brush = new System.Drawing.SolidBrush(color);
graphics.DrawString(watermarkContent, font, brush, xPoint, yPoint);
watermarkImage.Save(savePath);
watermarkImage.Dispose();

这个其实是一个为图片加水印的函数,你只要改一点点就可以了:
System.Drawing.Image.FromFile(filePath)获取要加文字的图片
watermarkContent:要添加的文字
xPoint, yPoint文字坐标:这个你要计算一下,根据font.Height得到文字的高度,然后跟图片高度相减,就可以得到最佳位置,比如图片高度350 文字高度20 那么如果姓名占一行,学号占一行 文字的yPoint应该就是从310左右的位置开始,那么如果让文字居中在照片下面,ypoint也是需要计算的,基本上可以是字号乘以1.3,这样绘图就没有问题了。
------解决方案--------------------
搜搜可以往图片上写字的一些代码