Gelöst: MNG Film mit QT4 schreiben problem fuer QMovie
Verfasst: 22. Mai 2008 02:05
Ich habe heute eine class gefunden die mir sehr nutzlich sein kann
qt-x11-opensource-4.0.0-b2/tools/qvfb/qanimationwriter.cpp
tools/ qvfb/ ist eigentlich nur fuer linux
aber doch nicht nmg animations file schreiben...
ich habe es etwas umgeschrieben auf
http://fop-miniscribus.googlecode.com/s ... writer.cpp
er schreibt die film file fehlerlos aber wenn ich sie mit QMovie oeffnen will
sagt die mng lib :
MNG error 4097: Image is larger than defined maximum; chunk MHDR; subcode 0:0
MNG error 1028: Chunk-length is invalid; chunk MOVE; subcode 0:0
liegt es vielleicht an htonl das ich auf window so geschrieben habe
eigentlich muss ja nur
chunk.profile= htonl(0x00000003);
chunk.profile zu int gehen ...
qt-x11-opensource-4.0.0-b2/tools/qvfb/qanimationwriter.cpp
tools/ qvfb/ ist eigentlich nur fuer linux
aber doch nicht nmg animations file schreiben...
ich habe es etwas umgeschrieben auf
http://fop-miniscribus.googlecode.com/s ... writer.cpp
er schreibt die film file fehlerlos aber wenn ich sie mit QMovie oeffnen will
sagt die mng lib :
MNG error 4097: Image is larger than defined maximum; chunk MHDR; subcode 0:0
MNG error 1028: Chunk-length is invalid; chunk MOVE; subcode 0:0
Code: Alles auswählen
void writeMHDR( const QSize& size, int framerate )
{
dev->writeBlock("\212MNG\r\n\032\n", 8);
struct {
int width;
int height;
int framerate;
int a,b,c;
int profile;
} chunk;
chunk.width = htonl(size.width());
chunk.height = htonl(size.height());
chunk.framerate = htonl(framerate);
chunk.a=0;
chunk.b=0;
chunk.c=0;
chunk.profile= htonl(0x00000003);
/* FRAM , MHDR */
png_write_chunk(png_ptr, (png_byte*)"MHDR", (png_byte*)&chunk, sizeof(chunk));
}
liegt es vielleicht an htonl das ich auf window so geschrieben habe
eigentlich muss ja nur
chunk.profile= htonl(0x00000003);
chunk.profile zu int gehen ...
Code: Alles auswählen
unsigned long
htonl(unsigned long a)
{
return (a);
}
