有时,单纯用图片并不能清楚表达我们的意思,我们需要添加一些文字或者箭头来做补充.这在GDI+中可以用很简单的方法来实现!在GDI+中,你能用Graphics对象方法处理除索引颜色外的任意图象格式.这一处理过程相当简单,就像我们直接在屏幕上绘图似的.如果要处理一索引颜色形式存储的图片,比如以GIF格式存储的文件,这要稍微麻烦些,得做个小小的处理,就是把以索引颜色格式保存的图象转换成非颜色格式处理的图象形式,然后你可以任意的修改,最后保存图象即可.
下面的代码给出了在图象上绘制文字和绘图的关键代码,其实现的是将当前日期绘制到图象上去(vb.net实现):
Dim imageName As String = "c:/foo.jpg" //得按照你的配置指定一个图象路径
Dim i As Image = Image.FromFile(imageName)
Dim g As Graphics = Graphics.FromImage(i)
g.FillRectangle(Brushes.White, 5, 5, 100, 30)
g.DrawRectangle(Pens.DarkBlue, 5, 5, 100, 30)
Dim sf As StringFormat = CType(StringFormat.GenericTypographic.Clone(), StringFormat)
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Center
g.DrawString(DateTime.Now.ToShortDateString(), New Font("Arial", 14, GraphicsUnit.Point), Brushes.Black, New RectangleF(7, 7, 94, 25), sf)
g.Dispose()
i.Save("C:/testimage.jpg", ImageFormat.Jpeg)
i.Dispose()
上述代码在图象的左上角打上了一个日期时间戳!
下面的代码给出了在图象上绘制文字和绘图的关键代码,其实现的是将当前日期绘制到图象上去(vb.net实现):
Dim imageName As String = "c:/foo.jpg" //得按照你的配置指定一个图象路径
Dim i As Image = Image.FromFile(imageName)
Dim g As Graphics = Graphics.FromImage(i)
g.FillRectangle(Brushes.White, 5, 5, 100, 30)
g.DrawRectangle(Pens.DarkBlue, 5, 5, 100, 30)
Dim sf As StringFormat = CType(StringFormat.GenericTypographic.Clone(), StringFormat)
sf.Alignment = StringAlignment.Center
sf.LineAlignment = StringAlignment.Center
g.DrawString(DateTime.Now.ToShortDateString(), New Font("Arial", 14, GraphicsUnit.Point), Brushes.Black, New RectangleF(7, 7, 94, 25), sf)
g.Dispose()
i.Save("C:/testimage.jpg", ImageFormat.Jpeg)
i.Dispose()
上述代码在图象的左上角打上了一个日期时间戳!