我正在使用 a在 C++Gdk::Pixbuf
中显示图像:Gdk::Cairo
virtual bool on_draw(const Cairo::RefPtr<Cairo::Context>& cr)
{
Glib::RefPtr<Gdk::Pixbuf> image = Gdk::Pixbuf::create_from_file(filename);
Gdk::Cairo::set_source_pixbuf(cr, image, (width - image->get_width())/2, (height - image->get_height())/2);
cr->paint();
/* other displaying stuffs */
}
这张图片是黑白的,我需要带出一些亮度高于某个阈值的像素。为此,我想为这些像素着色。
首先,我不知道(我在网上找不到)如何获取我的 Pixbuf 图像的某个像素的亮度。
其次,除了绘制一条长度为 1 的线(这是一种丑陋的解决方案)之外,我没有找到另一种绘制像素的方法。
你能帮我解决这个问题吗?如果可能的话,我想避免改变图书馆......
谢谢