You need to enable JavaScript to run this app. 如何使用CLI(ImageMagick)叠加合并黑/白、红/白两张单色图
优惠活动
大模型
产品
解决方案
定价
更多

如何使用CLI(ImageMagick)叠加合并黑/白、红/白两张单色图

实现方案

你的判断完全正确:先将红/白通道图中的白色区域设置为完全透明,再叠加到底层黑/白通道图上,就能完美还原3色e-ink屏幕的实际显示效果,整个逻辑和你物理写屏的图层顺序完全一致:

  • 黑/白图的黑色像素对应屏幕黑色显示,作为整个复合图的底层
  • 红/白图的红色像素对应屏幕红色显示,因为白色被抠成透明,叠上去时只会覆盖底层对应位置的内容
  • 两张图共有的白色区域会透出底层黑图的白色,对应屏幕的纯白显示
    不会出现内容错位、颜色偏差的问题。
ImageMagick 实现命令

假设你的两个输入文件分别是:

  • black_channel.png:黑/白单色通道图,纯黑、纯白无杂色
  • red_channel.png:红/白单色通道图,纯红、纯白无杂色

ImageMagick 7(新版,树莓派系统默认安装版本)

magick black_channel.png \
  \( red_channel.png -transparent white \) \
  -gravity NorthWest \
  -composite \
  output.png

参数说明:

  • -transparent white:将红图中所有纯白色像素设置为100%透明,叠加时仅保留红图中原有的红色像素
  • -gravity NorthWest:指定两张图的左上角为对齐锚点,保证同分辨率的两张通道图完全重合,不会出现偏移
  • -composite:执行图层叠加操作,将处理好的带透明通道的红图叠加到底层黑图上

ImageMagick 6(旧版本)

仅需将入口命令从magick替换为convert即可,逻辑完全一致:

convert black_channel.png \
  \( red_channel.png -transparent white \) \
  -gravity NorthWest \
  -composite \
  output.png
常见问题优化
  • 如果生成的通道图存在轻微颜色偏移、不是绝对纯净的正红/纯白,可以给透明操作加颜色容差,避免出现白边:把参数改成-transparent -fuzz 10% white,表示将和纯白色差值在10%范围内的近白像素全部设为透明
  • 输出格式不受限制:如果需要给网站展示用,直接修改输出文件后缀为.jpg/.bmp即可,ImageMagick会自动转码,不需要额外调整参数;需要压缩文件大小的话,可以加-quality 90参数控制JPG输出质量
  • 叠加结果和物理写屏效果完全匹配:当某个位置同时属于黑图的黑色、红图的红色时,最终会显示为红色,和你先写黑图、再覆盖红图的硬件写屏逻辑没有任何差异,不需要额外调整颜色映射
轻量替代方案(可嵌入现有树莓派脚本)

如果不想单独调用ImageMagick命令,用Python的Pillow库几行代码就能完成同样的叠加逻辑,方便和你现有的待办日程生成流程整合:

from PIL import Image

# 加载两张通道图,统一转成带透明通道的RGBA模式
black_layer = Image.open("black_channel.png").convert("RGBA")
red_layer = Image.open("red_channel.png").convert("RGBA")

# 遍历红图像素,将纯白色位置设为透明
red_pixels = red_layer.getdata()
transparent_pixels = []
for r, g, b, a in red_pixels:
    if r == 255 and g == 255 and b == 255:
        transparent_pixels.append((r, g, b, 0))
    else:
        transparent_pixels.append((r, g, b, a))
red_layer.putdata(transparent_pixels)

# 图层叠加,去掉透明通道后保存为网站通用的JPG格式
final_img = Image.alpha_composite(black_layer, red_layer)
final_img.convert("RGB").save("todo_display.jpg", quality=90)

内容的提问来源于stack exchange,提问作者Danny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.02 18:15:01