Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gtk 将与cairo一起执行的代码更改为cairo::RefPtr<;开罗:语境>;_Gtk_Cairo_Gtkmm - Fatal编程技术网

Gtk 将与cairo一起执行的代码更改为cairo::RefPtr<;开罗:语境>;

Gtk 将与cairo一起执行的代码更改为cairo::RefPtr<;开罗:语境>;,gtk,cairo,gtkmm,Gtk,Cairo,Gtkmm,我有一些代码需要用Cairo::RefPtrCairo::Context重新实现……这有点混乱,因为我找不到使用模式的好例子,而我们用Cairo::RefPtrCairo::Context代替Cairo\t Cairo::RefPtr<Cairo::Surface> surface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, width, height); Cairo::RefPtr<Cairo::Conte

我有一些代码需要用Cairo::RefPtrCairo::Context重新实现……这有点混乱,因为我找不到使用模式的好例子,而我们用Cairo::RefPtrCairo::Context代替Cairo\t

Cairo::RefPtr<Cairo::Surface> surface =
    Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, width, height);

Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surface);


cairo_pattern_t *cp = cairo_pattern_create_radial(x_off, y_off, 0, x_off, y_off, cent_point_radius);
cairo_pattern_add_color_stop_rgba(cp, 0.0, 0.7, 0.7, 0.7, 0.8);
cairo_pattern_add_color_stop_rgba(cp, 1.0, 0.1, 0.1, 0.1, 0.8);
cairo_set_source(cr, cp);
Cairo::RefPtr曲面=
Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32,width,height);
Cairo::RefPtr cr=Cairo::Context::create(曲面);
cairo_pattern_t*cp=cairo_pattern_create_radial(x_off,y_off,0,x_off,y_off,cent_point_radius);
cairo_图案_添加_颜色_停止_rgba(cp,0.0,0.7,0.7,0.7,0.8);
cairo_图案_添加_颜色_停止_rgba(cp,1.0,0.1,0.1,0.1,0.8);
cairo_集_源(cr,cp);
如何将“cp”更改为cr->set_resource()…cr过去是cairo_t,但后来我不得不将其更改为cairo::RefPtrCairo::Context


<>诚挚的问候,<> p> < p>既然你已经决定用C++的方式,为什么不一直走下去?
    // Create image surface.
    Cairo::RefPtr <Cairo::Surface> refSurface =
      Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32,
                                  nWidth,
                                  nHeight);

    // Create Cairo context for the image surface.
    Cairo::RefPtr <Cairo::Context> refContext =
      Cairo::Context::create(refSurface);

    // Create a radial gradient (pattern)
    Cairo::RefPtr <Cairo::RadialGradient> refPattern =
      Cairo::RadialGradient::create(x_off,
                                    y_off,
                                    0,
                                    x_off,
                                    y_off,
                                    cent_point_radius);

    // Add color stops to the pattern
    refPattern->add_color_stop_rgba(0.0,
                                    0.7,
                                    0.7,
                                    0.7,
                                    0.8);
    refPattern->add_color_stop_rgba(1.0,
                                    0.1,
                                    0.1,
                                    0.1,
                                    0.8);

    // Set the pattern as the source for the context.
    refContext->set_source(refPattern);

    // Add a closed path and fill...
//创建图像表面。
Cairo::RefPtr refSurface=
Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32,
第十四届,
(右);
//为图像曲面创建Cairo上下文。
Cairo::RefPtr refContext=
Cairo::Context::create(refSurface);
//创建径向渐变(图案)
Cairo::RefPtr refPattern=
Cairo::RadialGradient::创建(x_off,
你走开,
0,
x_off,
你走开,
分点(半径);
//向图案添加颜色挡块
参考模式->添加颜色停止rgba(0.0,
0.7,
0.7,
0.7,
0.8);
参考模式->添加颜色停止rgba(1.0,
0.1,
0.1,
0.1,
0.8);
//将模式设置为上下文的源。
refContext->set_source(refPattern);
//添加一个闭合路径并填充。。。