如何在 Cairo 表面显示 Matrix{RGB}?

How to show Matrix{RGB} on Cairo surface?

Cairo提供了read_from_png,但是returns值是一个特殊的类型CairoSurfaceBase,比较难操作,所以我选择了Matrix{RGB}(ImageIO这个东西returns). Cairo 确实提供了一种叫做 set_matrix 的东西,但是第二个参数必须是 CairoMatrix 类型。没有关于此的任何文件,所以我想不出在 CairoMatrixMatrix{RGB} 之间转换的方法。或者,更重要的是,我想显示 Matrix{RGB}.

  1. Matrix{RGB} 转换为 Matrix{T} T<:Union{ColorTypes.ARGB32, ColorTypes.RGB24}
  2. 使用CairoImageSurface将其转换为CairoSurface
  3. 使用set_source_surface放面