⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 portraitexhelper.cs

📁 破解的飞信源代码
💻 CS
字号:
namespace Imps.Client.Pc
{
    using Imps.Client.Core;
    using Imps.Client.Utils;
    using Imps.Utils;
    using System;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.IO;
    using System.Windows.Forms;

    internal class PortraitExHelper
    {
        public static void SaveContactPortrait(SaveFileDialog saveFileDialog, Contact contact, IWin32Window wnd)
        {
            try
            {
                if ((contact != null) && (contact.PersonalInfo.Portrait != null))
                {
                    Image portrait = contact.PersonalInfo.Portrait;
                    saveFileDialog.InitialDirectory = Environment.SpecialFolder.Personal.ToString();
                    saveFileDialog.Filter = string.Format("*.{0}|*.{0}", "jpg");
                    saveFileDialog.FileName = "未命名";
                    if (saveFileDialog.ShowDialog(wnd) == DialogResult.OK)
                    {
                        portrait.Save(saveFileDialog.FileName);
                    }
                }
            }
            catch (Exception exception)
            {
                ClientLogger.WriteException(exception);
            }
        }

        public static void UseContactPortrait(User user, Contact contact, IFrameworkWindow ifwnd, IWin32Window owner)
        {
            EventHandler<ImpsErrorEventArgs> handler = null;
            if ((contact != null) && (contact.PersonalInfo.Portrait != null))
            {
                try
                {
                    Image newPortrait = (Image) contact.PersonalInfo.Portrait.Clone();
                    if (user.Configuration.UserSetting.SaveMyInfo)
                    {
                        if (!Directory.Exists(user.PersistentManager.BaseDirForMyUsedPortrait))
                        {
                            Directory.CreateDirectory(user.PersistentManager.BaseDirForMyUsedPortrait);
                        }
                        string text = user.PersistentManager.BaseDirForMyUsedPortrait + contact.Uri.Id.ToString();
                        string path = text + ".dat";
                        if (File.Exists(path))
                        {
                            int num = 1;
                            while (true)
                            {
                                path = text + "-" + num.ToString() + ".dat";
                                if (!File.Exists(path))
                                {
                                    break;
                                }
                                num++;
                            }
                        }
                        try
                        {
                            newPortrait.Save(path, ImageHelper.GetImageCodecInfo(ImageFormat.Jpeg), ImageHelper.JpegParms());
                        }
                        catch
                        {
                            if (File.Exists(path))
                            {
                                File.Delete(path);
                            }
                            ifwnd.UnifiedMessageBox.ShowInfo(owner, "设置头像失败。");
                            return;
                        }
                        user.Configuration.UserSetting.ConversationSetting.CurrentPortraitFileInfo = string.Format("{0},{1}", 1, path);
                    }
                    AsyncBizOperation op = new AsyncBizOperation();
                    if (handler == null)
                    {
                        <>c__DisplayClass2 class2;
                        handler = new EventHandler<ImpsErrorEventArgs>(class2, (IntPtr) this.<UseContactPortrait>b__0);
                    }
                    op.ImpsError += handler;
                    user.PortraitDownloader.AsyncUploadPortrait(newPortrait, op);
                }
                catch (Exception exception)
                {
                    ClientLogger.WriteException(exception);
                }
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -