У меня проблемы с удалением спрайтов из карты спрайтов. Я могу получить свой первый спрайт из верхнего левого угла следующим образом:
gdk_pixbuf_composite( sprite_src, sprite_buf,
0, 0, sprite_w, sprite_h,
0.0, 0.0, 1.0, 1.0,
GDK_INTERP_HYPER,
255 );
Но тогда я не могу получить свой второй спрайт, который находится справа от первого:
gdk_pixbuf_composite( sprite_src, sprite_buf2,
sprite_w, 0, sprite_w * 2, sprite_h,
0.0, 0.0, 1.0, 1.0,
GDK_INTERP_HYPER,
255 );
Первый выглядит отлично, но я получаю черный прямоугольник и неудачное утверждение на втором:
GdkPixbuf-CRITICAL **: gdk_pixbuf_composite: assertion 'dest_x >= 0 &&
dest_x + dest_width <= dest->width' failed
Я пробовал все, что мог придумать. Любая идея, что я делаю неправильно?
Кроме того, мне на самом деле не нужно делать какое-либо масштабирование, но в настоящее время я не могу найти другого способа вырезать спрайты из карты спрайтов, кроме как с помощью функции gdk_pixbuf_composite(). Есть ли способ лучше?