мне нужно программно сделать скриншот swf. нагуглилось такое: http://www.mail-archive.com/swfdec@lists.f...g/msg00403.html
то есть с использованием swfdec и cairo его теоретически можно сделать.
вот я написал что-то вроде этого:
Код: Выделить всё
#include <stdlib.h>
#include <iostream>
#include <swfdec/swfdec.h>
#include <cairo.h>
using namespace std;
void swfdec_player_save (SwfdecPlayer *player, guint width, guint height, const char *filename) {
cairo_surface_t *surface;
cairo_t *cr;
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
cr = cairo_create (surface);
swfdec_player_render (player, cr);
cairo_destroy (cr);
cairo_surface_write_to_png (surface, filename);
cairo_surface_destroy (surface);
}
int main(int argc, char *argv[]) {
char *input = argv[1];
char *output = argv[2];
SwfdecPlayer *player = swfdec_player_new(NULL);
SwfdecURL *url = swfdec_url_new_from_input(input);
swfdec_player_set_url(player, url);
swfdec_player_save(player, 300, 300, output);
return 0;
}однако оно не делает скриншот, оно просто сохраняет картинку с заданным размером (300x300) и прозрачным фоном. в чем проблема может быть? или как получить скрин swf другими способами (только не способом "вывести на экран, сделать скрин и вырезать").