本文整理汇总了C++中FileLoader::TestFile方法的典型用法代码示例。如果您正苦于以下问题:C++ FileLoader::TestFile方法的具体用法?C++ FileLoader::TestFile怎么用?C++ FileLoader::TestFile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FileLoader
的用法示例。
在下文中一共展示了FileLoader::TestFile方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: processLoadImageJob
/*
loadImagesThreadInstance::loadImagesThreadInstance()
{
}
*/
void loadImagesThread::processLoadImageJob ( int row, QString path, int size, int tpId )
{
ScImageCacheManager &icm = ScImageCacheManager::instance();
bool cacheEnabled = icm.enabled();
icm.setEnabled(false);
//check if list of files has changed and this job is obsolete
if ( pModel->pId != tpId )
{
return;
}
if ( qAbs ( row - pictureBrowser->currentRow ) > 2* ( pictureBrowser->previewIconsVisible ) )
{
emit imageLoadError ( row, tpId, 0 );
return;
}
QFileInfo fi = QFileInfo(path);
QString ext = fi.suffix().toLower();
QStringList allFormatsV = LoadSavePlugin::getExtensionsForPreview(FORMATID_ODGIMPORT);
if (allFormatsV.contains(ext.toUtf8()))
{
FileLoader *fileLoader = new FileLoader(path);
int testResult = fileLoader->TestFile();
delete fileLoader;
if ((testResult != -1) && (testResult >= FORMATID_ODGIMPORT))
{
const FileFormat * fmt = LoadSavePlugin::getFormatById(testResult);
if( fmt )
{
QImage im = fmt->readThumbnail(path);
if (!im.isNull())
{
ImageInformation *imgInfo = new ImageInformation;
( *imgInfo ).width = im.text("XSize").toDouble();
( *imgInfo ).height = im.text("YSize").toDouble();
( *imgInfo ).type = 6;
( *imgInfo ).colorspace = 0;
( *imgInfo ).xdpi = 72;
( *imgInfo ).ydpi = 72;
( *imgInfo ).layers = 0;
( *imgInfo ).embedded = false;
( *imgInfo ).profileName = "";
( *imgInfo ).valid = true;
if ( ( im.width() > ( size-2 ) ) || ( im.height() > ( size-2 ) ) )
{
emit imageLoaded ( row, im.scaled ( ( size-2 ), ( size-2 ), Qt::KeepAspectRatio, Qt::SmoothTransformation ), imgInfo, tpId );
}
//image is <= our icon -> put it in as it is
else
{
emit imageLoaded ( row, im.copy(), imgInfo, tpId );
}
}
}
}
icm.setEnabled(cacheEnabled);
return;
}
ScImage image;
//no realCMYK
bool mode=false;
//no document needs to be assigned to this
CMSettings cms ( 0, "", Intent_Perceptual);
cms.allowColorManagement(false);
cms.setUseEmbeddedProfile(true);
ImageInformation *imgInfo = new ImageInformation;
//load previewimage
if ( image.loadPicture ( path, 1, cms, ScImage::Thumbnail, 72, &mode ) )
{
int ix,iy;
if ( ( image.imgInfo.exifDataValid ) && ( !image.imgInfo.exifInfo.thumbnail.isNull() ) )
{
ix = image.imgInfo.exifInfo.width;
iy = image.imgInfo.exifInfo.height;
}
else
{
ix = image.width();
iy = image.height();
}
( *imgInfo ).width = ix;
( *imgInfo ).height = iy;
( *imgInfo ).type = image.imgInfo.type;
( *imgInfo ).colorspace = image.imgInfo.colorspace;
( *imgInfo ).xdpi = qRound ( image.imgInfo.xres );
( *imgInfo ).ydpi = qRound ( image.imgInfo.yres );
( *imgInfo ).layers = image.imgInfo.layerInfo.size();
( *imgInfo ).embedded = image.imgInfo.isEmbedded;
( *imgInfo ).profileName = image.imgInfo.profileName;
( *imgInfo ).valid = true;
//.........这里部分代码省略.........
示例2: GenPreview
void FDialogPreview::GenPreview(QString name)
{
QPixmap pm;
QString Buffer = "";
updtPix();
if (name.isEmpty())
return;
QFileInfo fi = QFileInfo(name);
if (fi.isDir())
return;
int w = pixmap()->width();
int h = pixmap()->height();
bool mode = false;
QString ext = fi.suffix().toLower();
QString formatD(FormatsManager::instance()->extensionListForFormat(FormatsManager::IMAGESIMGFRAME, 1));
QStringList formats = formatD.split("|");
formats.append("pat");
QStringList allFormatsV = LoadSavePlugin::getExtensionsForPreview(FORMATID_ODGIMPORT);
if (ext.isEmpty())
ext = getImageType(name);
if (formats.contains(ext.toUtf8()))
{
ScImage im;
//No doc to send data anyway, so no doc to get into scimage.
CMSettings cms(0, "", Intent_Perceptual);
cms.allowColorManagement(false);
if (im.loadPicture(name, 1, cms, ScImage::Thumbnail, 72, &mode))
{
int ix,iy;
if ((im.imgInfo.exifDataValid) && (!im.imgInfo.exifInfo.thumbnail.isNull()))
{
ix = im.imgInfo.exifInfo.width;
iy = im.imgInfo.exifInfo.height;
}
else
{
ix = im.width();
iy = im.height();
}
int xres = im.imgInfo.xres;
int yres = im.imgInfo.yres;
QString tmp = "";
QString tmp2 = "";
QImage im2 = im.scaled(w - 5, h - 44, Qt::KeepAspectRatio, Qt::SmoothTransformation);
QPainter p;
QBrush b(QColor(205,205,205), loadIcon("testfill.png"));
// Qt4 FIXME imho should be better
pm = *pixmap();
p.begin(&pm);
p.fillRect(0, 0, w, h-44, b);
p.fillRect(0, h-44, w, 44, QColor(255, 255, 255));
p.drawImage((w - im2.width()) / 2, (h - 44 - im2.height()) / 2, im2);
p.drawText(2, h-29, tr("Size:")+" "+tmp.setNum(ix)+" x "+tmp2.setNum(iy));
p.drawText(2, h-17, tr("Resolution:")+" "+tmp.setNum(xres)+" x "+tmp2.setNum(yres)+" "+ tr("DPI"));
QString cSpace;
if ((extensionIndicatesPDF(ext) || extensionIndicatesEPSorPS(ext)) && (im.imgInfo.type != ImageType7))
cSpace = tr("Unknown");
else
cSpace=colorSpaceText(im.imgInfo.colorspace);
p.drawText(2, h-5, tr("Colorspace:")+" "+cSpace);
p.end();
setPixmap(pm);
repaint();
}
}
else if (allFormatsV.contains(ext.toUtf8()))
{
FileLoader *fileLoader = new FileLoader(name);
int testResult = fileLoader->TestFile();
delete fileLoader;
if ((testResult != -1) && (testResult >= FORMATID_ODGIMPORT))
{
const FileFormat * fmt = LoadSavePlugin::getFormatById(testResult);
if( fmt )
{
QImage im = fmt->readThumbnail(name);
if (!im.isNull())
{
QString desc = tr("Size:")+" ";
desc += value2String(im.text("XSize").toDouble(), PrefsManager::instance()->appPrefs.docSetupPrefs.docUnitIndex, true, true);
desc += " x ";
desc += value2String(im.text("YSize").toDouble(), PrefsManager::instance()->appPrefs.docSetupPrefs.docUnitIndex, true, true);
im = im.scaled(w - 5, h - 21, Qt::KeepAspectRatio, Qt::SmoothTransformation);
QPainter p;
QBrush b(QColor(205,205,205), loadIcon("testfill.png"));
pm = *pixmap();
p.begin(&pm);
p.fillRect(0, 0, w, h-21, b);
p.fillRect(0, h-21, w, 21, QColor(255, 255, 255));
p.drawImage((w - im.width()) / 2, (h - 21 - im.height()) / 2, im);
p.drawText(2, h-5, desc);
p.end();
setPixmap(pm);
repaint();
}
}
}
}
else if (ext.toUtf8() == "sml")
//.........这里部分代码省略.........