使用 VB.Net GDI+ 标记图像

分享于 

5分钟阅读

多媒体

 
Screenshot - ScreenStamp.jpg

介绍

最近我发现了在不干扰图像内容的情况下,制作图像的任务。 我在想我怎么能做到。 我搜索了很多,但没有找到真正的解决方案。 因这里,在研究了 GDI+ 库并花了一些时间和工作时,我得到了自己的解决方案。 我认为这些代码可以帮助那些拥有相同或者相似任务的人。 这里代码有助于在不干扰原始内容的情况下标记图像。 印记可以是空白图像,也可以是在它的上写入文字的图像。

使用代码

使用. NET 框架可以像 BitmapImageGraphicsFontBrush。等等 等许多类来执行图形操作。 为了简化图像冲压过程,让我们看一下演示如何标记图像的代码。

创建标记与创建 Bitmap 对象本身一样简单,只要指定它的高度和宽度即可。 这里任务只涉及三个步骤:

  • 创建 Bitmap 对象
  • 使用 Bitmap 对象创建 Graphics 对象
  • 使用 Graphics 类的DrawString() 方法
'Create Bitmap object of specific width and heightDim ImgStamp AsNew Bitmap(intWidth, intHeight)'Obtain Graphics object to perform graphics oprationDim g As Graphics = Graphics.FromImage(ImgStamp)'Use drawString method of the graphics object to write text on target bitmapg.DrawString("Test", New Font("Arial", 15, FontStyle.Bold), _
 New SolidBrush(Color.Red), 25, 35)'Save this bitmap using its save method as. Tiff,.jpg or any other imageImgStamp.Save(YourPath & "MyStamp.Tiff" )'You can optionally specify the ImageFormat using ImageFormat ClassImgStamp.Save(YourPath & "MyStamp.Tiff",_
 System.Drawing.Imaging.ImageFormat.Tiff)

DrawString() 方法使用 FontBrush 对象在 Bitmap 上绘制文本。 在这里可以使用类似 fontName。大小和样式的FontDialog 属性创建自己的Font 对象,方法是使用 Color 对象创建 Brush 对象。 最后两个参数是要在 Bitmap 上写入的文本的起始X 和Y 位置。 下面是对原始图像进行标记的代码:

'Construct a bitmap object using original image so'you can draw this object on the target bitmapDim OrgImg AsNew Bitmap(strImagePath)'Construct a bitmap object for the stamp imageDim StampImg AsNew Bitmap(StampImagePath & "MyStamp.Tiff")'Create target bitmap to draw both original image and stamp image.Dim TarImg AsNew Bitmap(OrgImg.Width, OrgImg.Height + StampImg.Height)'Obtain a Graphics object from & for that BitmapDim gr As Graphics = Graphics.FromImage(TarImg)'Draw the original image first on the target bitmap using graphics objectgr.DrawImage(OrgImg, 0, 0, OrgImg.Width, OrgImg.Height)'Now draw the stamp image on the target bitmap using graphics objectgr.DrawImage(StampImg, 0, OrgImg.Height, StampImg.Width, StampImg.Height)'Save the target bitmap as image fileTarImg.Save(YourPath & "MyStamppedImage.Tiff")

上面的代码将创建名为 MyStamppedImage.jpg的新图像文件,在下面粘贴原始内容和附加标记图像,而不会干扰原始映像文件。

Points of Interest

这里代码只在原始图像的内容结束时创建一个戳,但你可以在同一图像上创建一个图标。 你可以使用 Color 对象创建不同的彩色标记。 通过使用 Color.FromArgb() 方法,可以为标记创建任何颜色和前景颜色。 你甚至可以压缩原始图像或者印记图像以进一步清晰。

历史记录

  • 20 2007年08月 --原始版本已经发布
  • 22 2007年08月 --更新版演示项目

STA  图像  images  GDI  stamp  
相关文章