【问题标题】:How to create and save a 1x1 pixel transparent png using R?如何使用 R 创建和保存 1x1 像素透明 png?
【发布时间】:2019-08-27 10:57:35
【问题描述】:

我想在 R 中创建一个 1x1 像素的透明 png 文件。 有什么方法可以这样做还是我必须“复制”一个预制的 1x1 像素 png?

我试过了

empty_frame = imfill(x = 1, y = 1, z = 1, val = "transparent", dim = NULL)

但这不会创建一个透明像素,而是一个 1x1 白色像素。

如果没有要绘制的数据,我需要 1x1 像素 .png 文件作为占位符。

【问题讨论】:

  • 目前还不清楚您要做什么,我们也看不到您尝试了什么。为什么要一个像素?
  • @camille 我需要它作为一种“占位符”,以防没有要绘制的数据。我试过imager::imfill(1,1,val=1),它给了我一个 1x1 像素,但我不完全确定它是否真的透明(作为占位符,1x1 白色像素同样好,但现在我很好奇如何创建它透明,如果可能的话)
  • 这看起来.. 很简单。尽管我对图像不感兴趣,但不会将 alpha 值设置为 0 使其透明。 val = rgb( 1, 1, 1, 0)。前 3 个值无关紧要,因为 alpha = 0 使颜色填充为空。适用于plot(y = 1:5, x = 1:5 + 3, col = rgb(1, 1, 1, 0)) 之类的任何东西,所以我不明白为什么它在 RGB 图像的所有 3 层中不起作用。

标签: r png transparency


【解决方案1】:

一种方法是使用png::writePNG:

png::writePNG(array(0, dim = c(1,1,4)), "pixel.png")

这会创建一个透明的 1x1 像素(4 个通道设置为零,分别用于 RGB 和 alpha),我通过在 GIMP 中打开它来确认。

【讨论】:

  • 非常感谢您的回答。我会尝试一下,然后会接受你的回答。编辑:完美运行!非常感谢!
猜你喜欢
  • 2012-01-12
  • 1970-01-01
  • 2012-01-23
  • 2013-03-26
  • 1970-01-01
  • 2012-06-16
  • 2011-10-19
  • 1970-01-01
  • 2012-11-02
相关资源
最近更新 更多