代码之家  ›  专栏  ›  技术社区  ›  Eduardo Mauro

从Firefox复制图像时使用黑色背景

  •  4
  • Eduardo Mauro  · 技术社区  · 17 年前

    一个图像从firefox复制到剪贴板中。我的程序从剪贴板获取并保存为jpeg图像。由于某种原因,图像以黑色背景保存。如果我在IE中打开相同的URL并将图像复制到剪贴板中,则图像将由我的程序正确保存。我在用Delphi7。

    我还试着将firefox中的图片复制到microsoft paint中,并再次复制到黑色背景中。有人知道如何处理这样的问题吗?

    3 回复  |  直到 14 年前
        1
  •  2
  •   Pod    17 年前

    我假设原始图像是透明的?如果是这样,您应该知道JPEG不能处理透明度。尝试切换输出图像类型,看看你的程序是否神奇地消失了。

        2
  •  1
  •   Rob Kennedy    17 年前

    如果你在你的程序中得到了相同的背景并绘制,那么这就告诉我这与firefox有关,因此这不一定是你要解决的问题。

    因为你关心的是背景色,我猜你复制的图像有透明的元素。所以告诉我:什么颜色 应该 在那儿吗?JPEG图像不能有透明的部分,所以每个像素都必须具有 一些 颜色。Firefox显然选择了黑色;这怎么不是一个正确的选择,而Internet Explorer的是?

    我想知道当你粘贴到一个比绘画更强大的图形程序中,比如gimp或photoshop,你会得到什么颜色的背景。我希望这些项目考虑 clipboard formats 然后选择最合适的格式,这样他们就可以选择一种在有透明度的情况下可以容纳透明度的格式。另一方面,你的程序和绘画,可能只是使用 cf_Bitmap 格式,当然不能有透明的像素,所以它们得到复制程序选择用来填充空白的任何内容。

    另外,firefox和internet explorer都允许您将图像直接从浏览器拖动到桌面或其他文件夹窗口以保存原始图像。也许这让你的程序没必要了?

        3
  •  1
  •   PengOne    14 年前

    我知道这是一个有点老的问题,但是我在firefox v9中遇到了同样的问题。

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

    推荐文章