chibagoです。
png画像ファイルから画素(RGBA)データをpixcel毎に抽出し演算処理
をすることを考えております。
ツールとしては、画像描画に慣れているCairommにしたいと思っております。
ファイルに書き出すのは慣れているのですが、ファイルから読み込んだことがなく、
調べてもよく理解できませんでしたので、もしお使いの方がいらっしゃりましたら
ご指導いただければ幸いです。
サーフェースとコンテキストは以下のように簡単に取得できます。
Cairo::RefPtr< Cairo::ImageSurface > surface
= Cairo::ImageSurface::create_from_png(file_path);
Cairo::RefPtr< Cairo::Context > context;
context = Cairo::Context::create(surface);
get_width,get_heightで取得できます。肝心の画素データですが、
サーフェースのget_dataはサーフェースのポインタを示してるだけの
ようですし、コンテキストのほうにget_matrixというものがありますが、
これが該当しているのか分かりませんし、また、取得に際してもmatrix
の仕様を熟知しなければならないと思います。
また、コンテキストのほうにget_source()というものがありますが、
これでよいのかどうかも不明です。
double rgba[] get_source(x,y)のような使いやすい形のものがあれば
よいのですが、よくわかりません。
どのようにして画素を取得するものなのでしょうか。