/// <summary> /// 将表情对话框中的表情转换为富文本中的表情 /// </summary> /// <param name="face"></param> /// <returns></returns> public EmojiModel FaceToEmoji(EmojiModel face) { if (face.Size == EmojiSize.Small) { return(null); } EmojiModel model = null; if (face.Type == EmojiType.Emoji) { if (EmojiMap.TryGetValue(face.Code, out string code)) { model = EmojiModelList.FirstOrDefault(p => p.Code == code); } } else { if (QQEmojiMap.TryGetValue(face.Code, out int index)) { if (QQEmojiModelList.Count > index) { model = QQEmojiModelList[index]; } } } return(model); }
static EmojiManager() { if (!Directory.Exists("Emoji")) { return; } string emojiMapJson = File.ReadAllText("Emoji/emoji_map.json"); EmojiMap = JsonConvert.DeserializeObject <Dictionary <string, string> >(emojiMapJson); string qqEmojiMapJson = File.ReadAllText("Emoji/qq_emoji_map.json"); QQEmojiMap = JsonConvert.DeserializeObject <Dictionary <string, int> >(qqEmojiMapJson); string emojiModelJson = File.ReadAllText("Emoji/emoji.json"); EmojiModelList = JsonConvert.DeserializeObject <List <EmojiModel> >(emojiModelJson); EmojiModelList.ForEach(p => { p.Type = EmojiType.Emoji; p.Size = EmojiSize.Small; }); string qqEmojiModelJson = File.ReadAllText("Emoji/qq_emoji.json"); QQEmojiModelList = JsonConvert.DeserializeObject <List <EmojiModel> >(qqEmojiModelJson); QQEmojiModelList.ForEach(p => { p.Type = EmojiType.QQ; p.Size = EmojiSize.Small; }); string emojiCodeMapJson = File.ReadAllText("Emoji/emoji_code_map.json"); EmojiCodeMap = JsonConvert.DeserializeObject <Dictionary <string, string> >(emojiCodeMapJson); }