From b37ecf80e48d04a6adf368d7699de543c67addad Mon Sep 17 00:00:00 2001 From: appelemac Date: Thu, 9 Jun 2016 19:56:05 +0200 Subject: [PATCH 1/5] Revert "Revert "rip upgrade"" This reverts commit 081b0abcc4aba6b41b2b42612ddfda782e7083ea. --- .vs/NadekoBot/NadekoBot.scgdat | Bin 0 -> 131072 bytes .../Modules/Conversations/Conversations.cs | 58 +++++++++++++++++- NadekoBot/NadekoBot.csproj | 1 + NadekoBot/Properties/Resources.Designer.cs | 10 +++ NadekoBot/Properties/Resources.resx | 3 + NadekoBot/resources/images/rose_overlay.png | Bin 0 -> 18492 bytes 6 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 .vs/NadekoBot/NadekoBot.scgdat create mode 100644 NadekoBot/resources/images/rose_overlay.png diff --git a/.vs/NadekoBot/NadekoBot.scgdat b/.vs/NadekoBot/NadekoBot.scgdat new file mode 100644 index 0000000000000000000000000000000000000000..e34ebe8d2ab64f089e47c182c8648a3a419a7573 GIT binary patch literal 131072 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 L009ILa0UJkXGugR literal 0 HcmV?d00001 diff --git a/NadekoBot/Modules/Conversations/Conversations.cs b/NadekoBot/Modules/Conversations/Conversations.cs index b8de0cea..458108ce 100644 --- a/NadekoBot/Modules/Conversations/Conversations.cs +++ b/NadekoBot/Modules/Conversations/Conversations.cs @@ -1,6 +1,7 @@ using Discord; using Discord.Commands; using Discord.Modules; +using NadekoBot.Classes; using NadekoBot.Classes.Conversations.Commands; using NadekoBot.DataModels; using NadekoBot.Extensions; @@ -9,6 +10,7 @@ using NadekoBot.Properties; using System; using System.Diagnostics; using System.Drawing; +using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; using System.Linq; @@ -194,13 +196,15 @@ namespace NadekoBot.Modules.Conversations return; var usr = e.Channel.FindUsers(e.GetArg("user")).FirstOrDefault(); var text = ""; + var avatar = await GetAvatar(usr.AvatarUrl); text = usr?.Name ?? e.GetArg("user"); await e.Channel.SendFile("ripzor_m8.png", - RipName(text, string.IsNullOrWhiteSpace(e.GetArg("year")) + RipUser(text, avatar, string.IsNullOrWhiteSpace(e.GetArg("year")) ? null : e.GetArg("year"))) .ConfigureAwait(false); }); + if (!NadekoBot.Config.DontJoinServers) { cgb.CreateCommand("j") @@ -351,7 +355,7 @@ namespace NadekoBot.Modules.Conversations { fontSize -= (name.Length - 10) / 2; } - + //TODO use measure string var g = Graphics.FromImage(bm); g.DrawString(name, new Font("Comic Sans MS", fontSize, FontStyle.Bold), Brushes.Black, 100 - offset, 200); @@ -362,6 +366,56 @@ namespace NadekoBot.Modules.Conversations return bm.ToStream(ImageFormat.Png); } + public Stream RipUser(string name, Image avatar, string year = null) + { + var bm = Resources.rip; + var offset = name.Length * 2; + + var fontSize = 20; + + if (name.Length > 10) + { + fontSize -= (name.Length - 10) / 2; + } + //var avatar = Image.FromStream(await SearchHelper.GetResponseStreamAsync(aviLink)); + + + + //TODO use measure string + var g = Graphics.FromImage(bm); + g.DrawString(name, new Font("Comic Sans MS", fontSize, FontStyle.Bold), Brushes.Black, 100 - offset, 220); + g.DrawString((year ?? "?") + " - " + DateTime.Now.Year, new Font("Consolas", 12, FontStyle.Bold), Brushes.Black, 80, 240); + + g.DrawImage(avatar, 80,135); + g.DrawImage((Image)Resources.rose_overlay, 0, 0); + g.Flush(); + g.Dispose(); + + return bm.ToStream(ImageFormat.Png); + + } + + + public static async Task GetAvatar(string url) + { + var stream = await SearchHelper.GetResponseStreamAsync(url); + Bitmap bmp = new Bitmap(100, 100); + using (GraphicsPath gp = new GraphicsPath()) + { + gp.AddEllipse(0,0, bmp.Width, bmp.Height); + using (Graphics gr = Graphics.FromImage(bmp)) + { + gr.SetClip(gp); + gr.DrawImage(Image.FromStream(stream), Point.Empty); + + } + } + return bmp; + + } + + + private static Func SayYes() => async e => await e.Channel.SendMessage("Yes. :)").ConfigureAwait(false); } diff --git a/NadekoBot/NadekoBot.csproj b/NadekoBot/NadekoBot.csproj index df37a039..afbc37af 100644 --- a/NadekoBot/NadekoBot.csproj +++ b/NadekoBot/NadekoBot.csproj @@ -492,6 +492,7 @@ +