protected void refreshRoomList() { var liststore = new ListStore(typeof(Gdk.Pixbuf), typeof(string)); foreach (var channel in this.rooms.Values) { var label = getRoomLabel(channel); System.Drawing.Image avatar = null; if (channel.Members.Count == 2) { var other = getOtherRoomMember(channel); if (this.avatars.ContainsKey(other)) { avatar = this.avatars [other]; } } var icon = AvatarGenerator.createRoomAvatar(label, channel.Encryption != null, avatar); liststore.AppendValues(icon, label); channel.OnMessage -= onRoomMessage; channel.OnMessage += onRoomMessage; } channelList.Model = liststore; }
public void ShouldGenerateAvatarWithSpacedColors() { var ag = new AvatarGenerator( new SpacedColorGenerator { Accuracy = 50 } ) { ImageFormat = ImageFormat.Png }; var imageList = new List <string>(); for (var i = 0; i < 25; i++) { var stream = ag.Generate("Hello", "World"); var base64Data = Convert.ToBase64String(stream.ToArray()); var imgTag = $"<img src='data:image/png;base64,{base64Data}' />"; imageList.Add(imgTag); } var images = string.Join("<br/>", imageList); Assert.IsFalse(string.IsNullOrEmpty(images)); }
public ActionResult LoginByFacebook(UserLoginByFacebookDTO userLoginDTO) { if (IsUserLogIn) { return(RedirectToAction("Index", "Desktop")); } if (!userLoginDTO.Validate()) { return(RedirectToAction("Registration", "Errors")); } // get user var user = _DL.User.Get.ByExternalID(userLoginDTO.ExternalID, EN_RegistrationSource.Facebook); // login if (user != null) { CurrentUser = user; return(RedirectToAction("Index", "Desktop")); } // register else { VM_UserRegister regUser = userLoginDTO.TO_VM(); regUser.InvitedBy = _DL.User.Get.SystemUser(); regUser.UserLoginDetails = new Security.Salted_Hash(); var userNew = _DL.User.Account.Register(regUser); CurrentUser = _DL.User.Get.ByID(userNew.UserID); // Get avatars System.Net.WebClient client = new System.Net.WebClient(); Stream avatatLarge = client.OpenRead(userLoginDTO.PictureLarge); // replace avatars AvatarGenerator.Generate(avatatLarge, CurrentUser.UserID); return(RedirectToAction("Index", "Desktop")); } }
public API_Response <UserAvatar> UploadAvatar([FromUri] long UserID, [FromUri] string api_key = "") { return(InvokeAPI(() => { if (!Global.Cache.CheckUserExists(UserID)) { throw new UserNotFoundException(); } // var httpRequest = System.Web.HttpContext.Current.Request; if (httpRequest.Files.Count == 0) { throw new Exception("Image not found"); } else { var file = httpRequest.Files[0]; switch (System.IO.Path.GetExtension(file.FileName).ToLower()) { case ".jpg": case ".png": case ".jpeg": case ".gif": return AvatarGenerator.Generate(file.InputStream, UserID); default: throw new Exception("Incorrect format");; } } }, api_key)); }
public override Task <IdentityResult> CreateAsync(User user, string password) { var generator = new AvatarGenerator(); user.Avatar = generator.Generate(user.UserName); return(base.CreateAsync(user, password)); }
public MockGenerator() { generator = new AvatarGenerator() .WithNamingConvention(new MockNamingConvention()) .WithGeneratorAttribute(typeof(MockGeneratorAttribute)) .WithProcessor(new DefaultImports(typeof(IMocked).Namespace, typeof(LazyInitializer).Namespace)) .WithProcessor(new CSharpMocked()) .WithSyntaxReceiver(() => new RecursiveMockCandidatesReceiver()); }
public void Start() { AvatarGenerator ___avaGen00; ___avaGen00 = AvatarGenerator.Find(); derp = true; Persons = ( Enumerable.Empty <Person>()).ToList <Person>(); AvatarGen = ___avaGen00; }
public void ShouldGenerateAvatar() { var ag = new AvatarGenerator(new PaletteColorGenerator()) {ImageFormat = ImageFormat.Png}; var imageList = new List<string>(); for (int i = 0; i < 25; i++) { var stream = ag.Generate("Hello", "World"); var base64Data = Convert.ToBase64String(stream.ToArray()); var imgTag = $"<img src='data:image/png;base64,{base64Data}' />"; imageList.Add(imgTag); } var images = string.Join("<br/>", imageList); Assert.IsFalse(string.IsNullOrEmpty(images)); }
public JsonResult Upload(HttpPostedFileBase avatar) { if (avatar != null) { switch (Path.GetExtension(avatar.FileName).ToLower()) { case ".jpg": case ".png": case ".jpeg": case ".gif": case ".tiff": return(GetJson(AvatarGenerator.Generate(avatar.InputStream, CurrentUser.UserID))); default: return(GetJson(EN_ErrorCodes.IncorrectFileType)); } } else { return(GetJson(EN_ErrorCodes.NoData)); } }
static (ImmutableArray <Diagnostic>, Compilation) GetGeneratedOutput(string source, string[] additionalSources = null, [CallerMemberName] string?test = null) { var syntaxTree = CSharpSyntaxTree.ParseText(source, path: test + ".cs"); var references = new List <MetadataReference>(); var assemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (var assembly in assemblies) { if (!assembly.IsDynamic && !string.IsNullOrEmpty(assembly.Location)) { references.Add(MetadataReference.CreateFromFile(assembly.Location)); } } var compilation = CSharpCompilation.Create(test, (additionalSources ?? Array.Empty <string>()) .Select((code, index) => CSharpSyntaxTree.ParseText(code, path: $"AdditionalSource{index}.cs")) .Concat(new SyntaxTree[] { syntaxTree, CSharpSyntaxTree.ParseText(File.ReadAllText("Avatar/Avatar.cs"), path: "Avatar.cs"), CSharpSyntaxTree.ParseText(File.ReadAllText("Avatar/Avatar.StaticFactory.cs"), path: "Avatar.StaticFactory.cs"), }), references, new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); var diagnostics = compilation.GetDiagnostics().RemoveAll(d => d.Severity == DiagnosticSeverity.Hidden || d.Severity == DiagnosticSeverity.Info); if (diagnostics.Any()) { return(diagnostics, compilation); } var generator = new AvatarGenerator(); var driver = CSharpGeneratorDriver.Create(generator); driver.RunGeneratorsAndUpdateCompilation(compilation, out var output, out diagnostics); return(diagnostics, output); }
static (ImmutableArray <Diagnostic>, Compilation) GetGeneratedOutput(string source, [CallerMemberName] string?test = null) { var syntaxTree = CSharpSyntaxTree.ParseText(source, path: test + ".cs"); var references = new List <MetadataReference>(); var assemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (var assembly in assemblies) { if (!assembly.IsDynamic && !string.IsNullOrEmpty(assembly.Location)) { references.Add(MetadataReference.CreateFromFile(assembly.Location)); } } var compilation = CSharpCompilation.Create(test, new SyntaxTree[] { syntaxTree, CSharpSyntaxTree.ParseText(File.ReadAllText("Avatar/Avatar.cs"), path: "Avatar.cs"), }, references, new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)); var diagnostics = compilation.GetDiagnostics(); if (diagnostics.Any()) { return(diagnostics, compilation); } ISourceGenerator generator = new AvatarGenerator(); var driver = CSharpGeneratorDriver.Create(generator); driver.RunGeneratorsAndUpdateCompilation(compilation, out var output, out diagnostics); return(diagnostics, output); }
/// <summary> /// <see cref="AvatarController"/> constructor. /// </summary> public AvatarController(AvatarGenerator avatarGenerator) { AvatarGenerator = avatarGenerator ?? throw new ArgumentNullException(nameof(avatarGenerator)); }
public void MatrixRoutine() { var storage = new Storage(); client = new MatrixClient(storage.Server); cache = new Cache(client); try{ client.UseExistingToken(storage.UserId, storage.Token); this.user = client.GetUser(); Gtk.Application.Invoke(delegate { var statusContext = statusbar.GetContextId("matrix"); statusbar.Push(statusContext, "Logged in to " + storage.Server + " as " + storage.UserId); displayName.Text = user.DisplayName; }); }catch (Exception loginException) { Gtk.Application.Invoke(delegate { var statusContext = statusbar.GetContextId("matrix"); statusbar.Push(statusContext, "Login failed: " + loginException.Message); }); storage.Token = null; storage.Save(); } var rooms = client.GetAllRooms(); channelList.AppendColumn("Icon", new Gtk.CellRendererPixbuf(), "pixbuf", 0); channelList.AppendColumn("Artist", new Gtk.CellRendererText(), "text", 1); var liststore = new ListStore(typeof(Gdk.Pixbuf), typeof(string)); int roomIndex = 0; foreach (var channel in rooms) { var label = getRoomLabel(channel); var icon = AvatarGenerator.createRoomAvatar(label, channel.Encryption != null); liststore.AppendValues(icon, label); this.rooms.Add(roomIndex, channel); roomIndex++; foreach (var member in channel.Members) { if (!this.users.ContainsKey(member.Key)) { this.users.Add(member.Key, member.Value); } } } channelList.Model = liststore; var avatar = cache.GetAvatarObject(user.AvatarURL); var avatarScaled = Utils.resizeImage(System.Drawing.Image.FromStream(avatar), 48, 48); profileImage.Pixbuf = Utils.bitmapToPixbuf(avatarScaled); foreach (var member in this.users) { if (member.Value.avatar_url != null) { var memberAvatar = cache.GetAvatarObject(member.Value.avatar_url); var scaled = Utils.resizeImage(System.Drawing.Image.FromStream(memberAvatar), 32, 32); this.avatars.Add(member.Key, scaled); } } refreshRoomList(); Console.WriteLine("Matrix thread done"); }
protected void loadRoom(MatrixRoom room) { this.currentRoom = room; foreach (var widget in chatBox.Children) { chatBox.Remove(widget); } foreach (var message in room.Messages) { Widget messageContents = null; if (message.msgtype == "m.text") { messageContents = new Label(message.body); ((Label)messageContents).Justify = Justification.Left; } if (message.msgtype == "m.image") { messageContents = new VBox(); var imageLabel = new Label(message.body); imageLabel.Justify = Justification.Left; var loader = new AsyncImageLoader((MMessageImage)message, this.client); var imageContents = loader.GetImageWidget(250, 200); ((VBox)messageContents).PackStart(imageLabel); ((VBox)messageContents).PackStart(imageContents); } if (messageContents != null) { var messageContainer = new HBox(); string senderName; senderName = this.users [message.sender].displayname; if (senderName == null) { senderName = message.sender; } var alignmentBox = new Gtk.Alignment(0, -1, 0, 0); if (this.avatars.ContainsKey(message.sender)) { var senderIcon = new System.Drawing.Bitmap(this.avatars [message.sender]); alignmentBox.Add(new Gtk.Image(Utils.bitmapToPixbuf(senderIcon))); } else { var senderIcon = AvatarGenerator.createRoomAvatar(senderName); alignmentBox.Add(new Gtk.Image(senderIcon)); } messageContainer.PackStart(alignmentBox, false, false, 6); messageContainer.PackStart(messageContents, false, false, 6); chatBox.PackStart(messageContainer, false, false, 0); } Console.WriteLine(message.msgtype); } chatBox.ShowAll(); }