黑色背景,同时从Firefox复制图像

时间:2009-05-24 01:01:56

标签: delphi firefox jpeg clipboard

将图像从Firefox复制到剪贴板中。我的程序从剪贴板获取它并保存为JPEG图像。由于某种原因,图像以黑色背景保存。如果我在IE中打开相同的URL并将图像复制到剪贴板中,我的程序将正确保存图像。我正在使用Delphi 7。

我还尝试将图像从Firefox复制到Microsoft Paint中,再次尝试将黑色背景复制。有没有人知道如何处理这样的问题。

3 个答案:

答案 0 :(得分:2)

我认为原始图像是透明的?如果是这样,您应该知道JPEG无法处理透明度。尝试切换输出图像类型,看看你编程是否神奇消失。

答案 1 :(得分:1)

如果你在程序和Paint中获得相同的背景,那么这告诉我这与Firefox有关,因此它不一定是你需要解决的问题。

由于您担心背景颜色,我猜您正在复制的图像具有透明元素。那么告诉我:应该的颜色是什么? JPEG图像不能包含透明部分,因此每个像素必须具有某种颜色。 Firefox显然选择在那里放黑色;怎么这不是一个正确的选择和Internet Explorer的?

我想知道当你粘贴到比Paint更强大的图形程序时会得到什么颜色背景,比如Gimp或Photoshop。我希望这些程序能够考虑多个clipboard formats并选择最合适的格式,这样他们就可以选择一种在可用时适应透明度的格式。另一方面,你的程序和Paint可能只使用cf_Bitmap格式,当然它不能有透明像素,因此它们可以获得复制程序选择用于填充空白区域的任何内容。

顺便说一句,Firefox和Internet Explorer都允许您将图像直接从浏览器拖动到桌面或其他文件夹窗口以保存原始图像。也许这会使您的程序变得不必要?

答案 2 :(得分:1)

我知道这是一个稍微陈旧的问题,但我在Firefox v9中遇到了同样的问题。

使用以下解决方法:将有问题的图像保存到您的计算机,然后在资源管理器中复制该文件并粘贴到您要使用的程序中(在我的情况下,我粘贴到单词中)。