我有一个cairo_surface_t图像表面,其中包含任意大小的图标,并希望缩放它,使它适合我正在绘制的窗口。该窗口具有可以绘制到的cairo_t绘图上下文。示例代码如下
cairo_surface_t *image;
double scale = cairo_image_get_surface_height(image) / window->height;
// Scale here
cairo_set_source_surface(cairo, image, 0, 0);
cairo_paint(cairo);发布于 2017-05-29 05:09:38
您可以使用cairo_scale API。示例:cairo_scale(cairo, scale_width, scale_height);
我将这样做如下:
cairo_surface_t *surf = cairo_image_surface_create_for_data(resize_image_data, CAIRO_FORMAT_RGB24, resize_image_width, resize_image_height, image_stride);cairo_set_source_surface(cr, surf, 0, 0);cairo_paint(cr);https://stackoverflow.com/questions/44230490
复制相似问题