转换剪贴板到时剪贴板中包含图片
如果任何人知道的方式,当画面中剪贴板复制检测,然后执行以下时,它发生了,我想知道一个GIF/PNG:转换剪贴板到时剪贴板中包含图片
- 转换此图片成GIF/PNG
- 然后放回到该压缩图片到剪贴板
我问其原因,就是我们常贴截图复制到用户并粘贴在Lotus。出于某种原因,将图片直接粘贴到Lotus上可以制作更大的电子邮件,而不是将Paint保存为GIF,从GIF复制,然后粘贴到Lotus中。
我想比剪贴板不会存储像素本身,但字面上知道采取的数据格式的对象。
如果我错了,随时纠正我!
编辑:
读第一个回答后,我的问题是:“我怎么能,每一个画面是在剪贴板时,压缩它,并把它放回剪贴板?”
如果您只是在寻找Lotus Notes解决方案,具体取决于您正在运行的是哪个版本的Lotus Notes,那么首选项为“压缩粘贴到文档中的图像”。我想认为在8.0版本,但我可能是错的。除此之外,我不知道你可以使用什么。
我刚刚做了一个测试,将屏幕截图粘贴到电子邮件草稿中,保存的草稿是124KB。将屏幕截图粘贴到Paint中,并将其保存为一个163KB的GIF文件。
编辑:祝我们的莲花车队将更新客户端,我们仍然在这里使用Lotus:( – BlueTrin 2010-02-17 14:49:24
我使用下面的C#程序用于类似的目的。它将剪贴板保存到PNG文件中。然后我通过Gmail或其他方式上传文件。
class Clip2Png {
[System.STAThread]
public static void Main(string[] args) {
if (args.Length != 1) {
System.Console.WriteLine("Usage: clip2png filename");
return;
}
System.Windows.Forms.IDataObject lData = System.Windows.Forms.Clipboard.GetDataObject();
if (lData == null || !lData.GetDataPresent(System.Windows.Forms.DataFormats.Bitmap)) {
System.Console.WriteLine("No image in clipboard");
return;
}
System.Drawing.Image image = (System.Drawing.Image)
lData.GetData(System.Windows.Forms.DataFormats.Bitmap, true);
image.Save(args[0], System.Drawing.Imaging.ImageFormat.Png);
}
}
编辑,它会非常接近我想要的,除非我想将它放回剪贴板,你知道我该怎么做吗? – BlueTrin 2010-02-17 14:50:08
请参阅@unwind answer - 剪贴板存储DIB图像,它是应用程序定义了如何处理剪贴板 - 例如,我的应用程序将其作为PNG文件存储为最后一步 – agsamek 2010-02-17 15:37:27
Lotus将其作为未压缩的图像附加到它 您可以粘贴剪贴板的内容作为GIF从任何应用程序到Lotus?我不这么认为。相反,您可以附加一个来自hdd的GIF文件,在这种情况下,Lotus会将其作为GIF存储在电子邮件中。 – agsamek 2010-02-17 15:43:40
编辑我的问题:它会那么......我怎么能压缩在飞行中的图片时,它是从剪贴板中取出,并把它放回剪贴板 – BlueTrin 2010-02-05 11:32:03