Home · All Namespaces · All Classes · Main Classes · Grouped Classes · Modules · Functions |
/**************************************************************************** ** ** Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. ** ** This file is part of the documentation of the Qt Toolkit. ** ** Licensees holding a valid Qt License Agreement may use this file in ** accordance with the rights, responsibilities and obligations ** contained therein. Please consult your licensing agreement or ** contact [email protected] if any conditions of this licensing ** agreement are not clear to you. ** ** Further information about Qt licensing is available at: ** http://trolltech.com/products/appdev/licensing. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include <QImage> #include <QList> #include <QThread> #include <QDebug> #include <QApplication> #include <qtconcurrentmap.h> #ifndef QT_NO_CONCURRENT QImage scale(const QImage &image) { qDebug() << "Scaling image in thread" << QThread::currentThread(); return image.scaled(QSize(100, 100), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); } int main(int argc, char *argv[]) { QApplication app(argc, argv); const int imageCount = 20; // Create a list containing imageCount images. QList<QImage> images; for (int i = 0; i < imageCount; ++i) images.append(QImage(1600, 1200, QImage::Format_ARGB32_Premultiplied)); // Use QtConcurrentBlocking::mapped to apply the scale function to all the // images in the list. QList<QImage> thumbnails = QtConcurrent::blockingMapped(images, scale); return 0; } #else int main() { qDebug() << "Qt Concurrent is not yet supported on this platform"; } #endif
Copyright © 2008 Nokia Corporation and/or its subsidiary(-ies) | Trademarks | Qt 4.4.3 |