xpm文件实质是一个文本文件,保存了图片的各种信息,可以直接包含在qt的文件中。下面的代码实现了将任意图片转换成xpm的功能。命令行下使用。
---------------------------------------------------------------------------------------------------------------------------
#include <qapplication.h>
#include <qimage.h>
#include <qmessagebox.h>
int main( int argc, char **argv )
{
QApplication a( argc, argv );
QString from,to;
char * hlp="toxpm picname.jpg/gif/png/bmp newname.xpm\nOR toxpm picname.jpg/gif/png/bmp";
if(argc<=1)
{
QMessageBox::information(0,"help", hlp);
return 0;
}
if(argc>1)
from = QString(argv[1]);
if(argc>2)
to = QString(argv[2]);
QImage image;
bool ok = image.load(from, 0);
if(!ok)
{
QMessageBox::information(0,"warning", QString("Load: %1 failed!").arg(from));
return 0;
}
if( to.isEmpty() )
to = from.left(from.findRev(".")) + ".xpm";
if(to.find(".")<1) to += ".xpm";
image.save(to, "XPM");
return 0;
}
---------------------------------------------------------------------------------------------------------------