C# 同时复制多个pictureBox 和文字

多个 pictureBox 和一段文字说明 如何同时复制 以便一次性发送
如图 点击button复制 ctrl+v 粘贴到微信或qq 图片说明图片说明

以下方法可以实现你的需求,但是仅限于本地图片


//path1和path2为本地图片绝对路径,远程图片路径无效
var data = GetHtmlData($"<img src=\"{path1}\"/><img src=\"{path2}\"/><div>{text}</div>");
Clipboard.SetData(DataFormats.Html,data);




 private static string GetHtmlData(string html) {
            var sb = new StringBuilder();

            const string header = @"Format:HTML Format
Version:1.0
StartHTML:<<<<<<<1
EndHTML:<<<<<<<2
StartFragment:<<<<<<<3
EndFragment:<<<<<<<4
StartSelection:<<<<<<<3
EndSelection:<<<<<<<3";

            sb.Append(header);
            int startHtml = sb.Length;

            sb.Append(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN""><!--StartFragment-->");
            int fragmentStart = sb.Length;

            sb.Append(html);
            int fragmentEnd = sb.Length;

            sb.Append(@"<!--EndFragment-->");
            int endHtml = sb.Length;

            // Backpatch offsets

            sb.Replace("<<<<<<<1", String.Format("{0,8}", startHtml));
            sb.Replace("<<<<<<<2", String.Format("{0,8}", endHtml));
            sb.Replace("<<<<<<<3", String.Format("{0,8}", fragmentStart));
            sb.Replace("<<<<<<<4", String.Format("{0,8}", fragmentEnd));

            MemoryStream vMemoryStream = new MemoryStream(System.Text.Encoding.GetEncoding("gb2312").GetBytes(sb.ToString()));
            string str = Encoding.GetEncoding(0).GetString(vMemoryStream.ToArray());
            return str;
        }


https://ask.csdn.net/questions/749893 上次的代码还没有采纳。