private void xcapService_onXcapEvent(object sender, BogheCore.Xcap.Events.XcapEventArgs e) { if (e.Type != XcapEventTypes.PRESCONTENT_DONE) { return; } if (this.Dispatcher.Thread != System.Threading.Thread.CurrentThread) { this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, new EventHandler <XcapEventArgs>(this.xcapService_onXcapEvent), sender, new object[] { e }); return; } switch (e.Type) { case XcapEventTypes.PRESCONTENT_DONE: { object content = e.GetExtra(XcapEventArgs.EXTRA_CONTENT); if (content != null && content is String) { this.SetAvatarFromBase64String(content as String); } break; } default: break; } }
private void xcapService_onXcapEvent(object sender, XcapEventArgs e) { if (e.Type != XcapEventTypes.PRESCONTENT_DONE) { return; } if (this.Dispatcher.Thread != System.Threading.Thread.CurrentThread) { this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, new EventHandler<XcapEventArgs>(this.xcapService_onXcapEvent), sender, new object[] { e }); return; } switch (e.Type) { case XcapEventTypes.PRESCONTENT_DONE: { System.Drawing.Image avatar; object content = e.GetExtra(XcapEventArgs.EXTRA_CONTENT); if (content != null && content is String) { try { using (MemoryStream stream = new MemoryStream(Convert.FromBase64String(content as String))) { avatar = System.Drawing.Bitmap.FromStream(stream); this.imageAvatar.Source = MyImageConverter.FromBitmap(avatar as System.Drawing.Bitmap); } } catch (Exception ex) { LOG.Error("Failed to get avatar", ex); } } break; } default: break; } }