我试图写一个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)
{
字符串
据我所知,它清楚地表明了一个文件错误。我尝试了许多位置,看看它是否不是一个权限问题。
1条答案
按热度按时间bogh5gae1#
mkdtemp返回一个新的临时目录。
mkstemp(一个新的临时文件)。