读书人

C# 复制 GIF 图像到剪切板,该怎么解决

发布时间: 2012-04-04 16:38:51 作者: rapoo

C# 复制 GIF 图像到剪切板
Clipboard.SetImage(PictureBox1.Image);

用这样的方法将PictureBox上的GIF动画图片复制到剪切板后,再粘贴,gif中的动画就不动了。

请高手帮忙,有其他复制GIF的方法吗?

谢谢!

[解决办法]
使用SetData方法呢?
[解决办法]
又出空格!!!!

C# code
  StringBuilder _HtmlFormatData = new StringBuilder();            _HtmlFormatData.AppendLine("Version:1.0");            _HtmlFormatData.AppendLine("StartHTML:000000179");            _HtmlFormatData.AppendLine("EndHTML:000000373");            _HtmlFormatData.AppendLine("StartFragment:000000294");            _HtmlFormatData.AppendLine("EndFragment:000000337");            _HtmlFormatData.AppendLine("StartSelection:000000294");            _HtmlFormatData.AppendLine("EndSelection:000000337");            _HtmlFormatData.AppendLine("SourceURL:file:///C:/4.htm");            _HtmlFormatData.AppendLine("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">");            _HtmlFormatData.AppendLine("");            _HtmlFormatData.AppendLine("<HTML><HEAD></HEAD>");            _HtmlFormatData.AppendLine("");            _HtmlFormatData.AppendLine("<BODY><!--StartFragment--><IMG src=\"http://zi.csdn.net/210x60_5.gif\"><!--EndFragment--></BODY>");            _HtmlFormatData.AppendLine("</HTML>");            MemoryStream _ClipboardData = new MemoryStream(Encoding.Default.GetBytes(_HtmlFormatData.ToString()));            Clipboard.SetData("Html Format", _ClipboardData);
[解决办法]
在园子里转的 你看看


private void button1_Click(object sender, EventArgs e) { var GifFilePath = @"C:\Users\Public\Downloads\0022.gif"; Clipboard.SetText(string.Format(@"Version:0.9StartHTML:00000176EndHTML:00000326StartFragment:00000210EndFragment:00000290SourceURL:file:///C:/Develop/ADITALL/MIXER/playerAS3/bin/sharp-copy-test.html<html><body><!--StartFragment--><p><strong>AAA</strong><img src=""file:///{0}"" /></p><!--EndFragment--></body></html>", GifFilePath.Replace("\\","/")), TextDataFormat.Html); }

其原理就是变通地将包含动画的Html代码复制到剪切板内。

但具体为什么这么写我也不知道,没找到相关的剪贴板格式资料,以至于我修改SourceURL:file:///C:/Develop/ADITALL/MIXER/playerAS3/bin/sharp-copy-test.html为其他文件路径都会导致失效,很诡异~~
这个格式是从这里窥得的,你可以研究一下:
http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/d54d427a-e7f7-40f6-ad1c-a788e18da463
(经我个人测试,直接复制Html代码如“<img src="……">”到剪切板无效,粘贴时甚至可能引发目标程序崩溃,改动上述格式中的源文件路径也会引发同样结果-_-#)

读书人网 >C#

热点推荐