C#编写给图片加国旗程序

  今天被朋友圈刷屏了,一堆人发消息艾特微信官方要国旗。最初搞不懂是怎么回事,最后从网上文章中了解到,今天在朋友圈里面艾特微信官方要国旗可以在微信头像的右下角加一面国旗。感觉用C#实现类似功能也不麻烦,因此写个简单程序模仿一下。
  首先是找国旗素材,直接在百度图片里面找了一个小尺寸的国旗图片。但是找到的图片背景是白色的,需要把背景色变为透明。由于电脑上没有装图片处理程序,于是在网上找了一个线图片去底工具,网址为http://www.aigei.com/bgremover/ ,使用该在线工具可以很方面的去掉纯色背景(而且免费、不用注册,也不用其它账号登录)。处理好的国旗图片如下所示:
在这里插入图片描述
  接下来是编写主程序。代码逻辑不是很复杂,用户选一张图片,然后程序创建一个新的图片,将用户图片和国旗图片依次使用GDI+函数绘制到新的图片中,然后将新图片保存到本地。为了简单起见,将国旗直接加到图片的右下角,国旗尺寸与用户图片的尺寸比例保持在20%左右,图片格式只支持jpg。主要代码如下:

Bitmap flaggedImage = new Bitmap(initImage.Width, initImage.Height);
Graphics g = Graphics.FromImage(flaggedImage);
g.DrawImage(initImage, 0, 0, flaggedImage.Width, flaggedImage.Height);

int flagSize = (int)Math.Min(flaggedImage.Width * 0.2f, flaggedImage.Height * 0.2f);
Rectangle rect = new Rectangle();
rect.X = flaggedImage.Width - flagSize;
rect.Y = flaggedImage.Height - flagSize;
rect.Width = flagSize;
rect.Height = flagSize;

g.DrawImage(AddRedFlag.Properties.Resources.flag, rect);

  程序主界面如下,处理图片的截图也如下所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  示例代码放在了Github上面,地址为:https://github.com/guochao2299/AddNationalFlag

备注:
[1]国旗图片原网址为:http://www.sohu.com/a/194839193_667858,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值