私はcairo_surface_tフォーマットを持っていますCAIRO_FORMAT_A8。サーフをグレースケール画像として書き出したいので、すべてのピクセルは type の 1 バイト値を持ちますuchar。
cairo_surface_write_to_png表面に直接使用するとCAIRO_FORMAT_A8、真っ黒な画像しか得られません。これは、cairo が A8 サーフェスをグレースケール データではなくアルファ値として内部的に処理する方法だと思います。ただし、単一のグレースケール画像が必要です。
誰かが A8 フォーマットを RGB24 画像の 3 つのレイヤーすべてにコピーする方法を指摘してくれれば十分でしょう。
どんな助けでも大歓迎です!