做网站的表情包,怎么用wordpress搭建免费网站,网站建设必要性和意义,电子商务网站开发 微盘下载首先参照了这篇文章#xff1a;C# 图片打包成DLL文件进行调用_png转dll-CSDN博客#xff0c;感谢大神#xff01;
想在winform里做个表情选择的界面#xff0c;如果表情图片直接放在本地的话会造成更改或删除#xff0c;给程序带来不确定的因素#xff0c;还是直接把图片…首先参照了这篇文章C# 图片打包成DLL文件进行调用_png转dll-CSDN博客感谢大神
想在winform里做个表情选择的界面如果表情图片直接放在本地的话会造成更改或删除给程序带来不确定的因素还是直接把图片打包进dll中用起来方便前期直接参考上面那位大神的文章。
表情类png图片从哪里搞呀如果自用的话就从头条的网页端把表情图片下载回来就可以了我把表情图片放到了ico文件夹中记得一定要把图片设置为右键图片-属性-生成操作嵌入的资源多个图片可以一次性全部选中进行设置。
就一个class1文件复制好以后直接运行虽然单个dll无法运行但会生成你需要的dll文件引用到其他项目中就可以使用了。
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;namespace EmojiImg
{public class Class1{public Class1(){}public System.IO.Stream GetPng(string name){Assembly asm Assembly.GetExecutingAssembly();string name2 asm.GetName().Name;System.IO.Stream ss this.GetType().Assembly.GetManifestResourceStream(name2 .ico. name);return ss;}/// summary/// 根据名称从dll中读取图片返回image/// /summary/// param namename/param/// returns/returnspublic Image GetImg(string name) {Assembly asm Assembly.GetExecutingAssembly();string name2 asm.GetName().Name;Image img;imgImage.FromStream(asm.GetManifestResourceStream(name2 .ico. name));return img;}/// summary/// 根据图片名称读取图片返回图片的base64用于网页显示/// /summary/// param namename/param/// returns/returnspublic string ImageToBase64(string name){try{Assembly asm Assembly.GetExecutingAssembly();string name2 asm.GetName().Name;Bitmap bmp new Bitmap(asm.GetManifestResourceStream(name2 .ico. name));MemoryStream ms new MemoryStream();bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png);byte[] arr new byte[ms.Length];ms.Position 0;ms.Read(arr, 0, (int)ms.Length);ms.Close();return Convert.ToBase64String(arr);}catch (Exception ex){return null;}}/// summary/// 根据图片名称读取图片返回Bitmap/// /summary/// param namename/param/// returns/returnspublic Bitmap GetBitmap(string name){Assembly asm Assembly.GetExecutingAssembly();string name2 asm.GetName().Name;Bitmap bmp new Bitmap(asm.GetManifestResourceStream(name2 .ico. name));return bmp;}}
}ImageToBase64是用来根据图片名称返回图片的base64编码这里设置的图片类型是png在web中使用时它是透明背景的。
在winform中聊天框怎么写了不管用第三方的控件框还是用web实现要么授权需要花钱要么代码不全难实现也是走了不少弯路最后通过简单粗暴的方法实现的。聊天框直接用textbox多行文本框来实现然后在它上面放一个同样大小的webBrowser控件然后设置为隐藏等用户选择了表情后在文本中显示的是文字点预览或收到带表情的消息时直接放到webBrowser中进行显示就可以了很是完美。
例如收到一段带有表情文字的字符串那么进行解析表情文字的顺序就是图片的顺序简单粗暴从emoji_1~N命名 public string GetRichToHtml(string message) {string msg;string fname;string imgBase64;int num 1;string[] EmojiName { [微笑],[爱慕],[惊呆],[酷拽],[抠鼻],[流泪],[发怒],[呲牙],[鼾睡],[害羞],[可爱],[晕],[衰],[闭嘴],[机智],[作揖]};msg ;//从本地调用的dll中读取foreach (string name in EmojiName){imgBase64 ;fname emoji_ (num).ToString() .png;imgBase64 imgdll.ImageToBase64(fname);message message.Replace(name, img srcdata:image/png;base64, imgBase64 width36 height36 /);num 1;}msg message;return msg;}