我想知道是否有办法在图像上显示数据库值,比如我有一个证书的图像模板,我想从数据库中显示名称,因为我有1000个名字,那里有图像要制作,我可以为此制作ac#app。我很抱歉,我做了搜索,但我找不到任何东西。
由于
答案 0 :(得分:2)
你可以通过.NET中的GDI +绘图来实现。首先,加载模板图像,然后为其绘制一个字符串,然后将其另存为新图像。从数据库加载所有名称并在循环中处理它们,这样就可以了。你必须关注的是找到合适的绘图位置并美化字体,我的样本如下:
private void btnDrawImage_Click(object sender, EventArgs e)
{
string templateFile = Application.StartupPath + Path.DirectorySeparatorChar + "template_picture.jpg";
//customerize your dispaly string style
Font ft = new System.Drawing.Font("SimSun", 24);
Brush brush = Brushes.Red;
//start position(x,y)
Point startPt = new Point(100, 100);
//names from database
var nameList = new List<string>(){
"scott yang",
"Vivi",
"maxleaf",
"lenka"};
//process image on every name
foreach (string name in nameList)
{
string msg = "Welcome " + name;
Image templateImage = Image.FromFile(templateFile);
Graphics g = Graphics.FromImage(templateImage);
g.DrawString(msg, ft, brush, startPt.X, startPt.Y);
g.Dispose();
string savePath = "c:\\" + name + ".jpg";
templateImage.Save(savePath);
}
}
这是我的结果,希望对您有所帮助。