linux Cairo STM32MP1 cairo_surface_write_to_png始终返回CAIRO_STATUS_WRITE_ERROR

toiithl6  于 9个月前  发布在  Linux
关注(0)|答案(1)|浏览(122)

我试图写一个PNG文件。我总是得到一个写错误(CAIRO_STATUS_WRITE_ERROR)。

cairo_surface_t *image_surface = cairo_surface_create_similar_image(pBitmap -> mainSurface,
                     CAIRO_FORMAT_RGB24, pBitmap -> geom.width, pBitmap -> geom.height);
    cairo_t *cr = cairo_create(image_surface);
    cairo_set_source_surface(cr, pBitmap -> mainSurface, 0, 0);
    cairo_paint(cr);
    cairo_status_t cairo_errCode;

    if(pFile)
    {
        char template[] = "./fileXXXXXX.png";
        char *tempFileName = mkdtemp(template);
        if(tempFileName)
        {
            if((cairo_errCode = cairo_surface_write_to_png(image_surface, tempFileName)) == CAIRO_STATUS_SUCCESS)
            {

字符串
据我所知,它清楚地表明了一个文件错误。我尝试了许多位置,看看它是否不是一个权限问题。

bogh5gae

bogh5gae1#

mkdtemp返回一个新的临时目录。
mkstemp(一个新的临时文件)。

相关问题