Click here to Skip to main content
11,496,146 members (468 online)
The site is currently in read-only mode for maintenance. Posting of new items will be available again shortly.
See more: C++ QT

I want to get cmyk values of an image in Qt . I have wrote this program but it doesn't work :

       QImage image=QImage("/home/hor/1.jpg").scaled(ui->spinBox->value(),ui->spinBox_2->value());
        int i=0 ;int j =0;
        for(j=0 ; j<image.width();j++)
        { for(i=0;i<image.height();i++)
                QColor color=QColor::fromCmyk(image.pixel(i,j));
        ui->plainTextEdit->appendPlainText(QString("cyan is : ") + QString::number(color.cyan())
                                           + QString("magenta is: ") + QString::number(color.magenta())
                                           + QString("yellow is:") + QString::number(color.yellow())
                                           + QString("black is") +QString::number(;

The Error I had get is : no matching function for call to “QColor::fromCmyk(Qrgb);
Posted 4-May-13 18:43pm
Tadit Dash at 4-May-13 23:49pm
Is there a function QColor::fromCmyk(Qrgb); exists in your program ?
If yes, post that code here as well.
hor_313 at 5-May-13 0:03am
yes there is

I solved it by adding toCmyk() function after this line :

QColor color=QColor::fromCmyk(image.pixel(i,j)).toCmyk();

and so exchange fromCmk to fromRgb in that line

and the program is working , but i am not sure the returns value are true ?!
jsolutions_uk at 24-May-13 4:24am
You could always test your values you are getting against this

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 10,401
1 OriginalGriff 8,910
2 Sascha Lefèvre 3,899
3 Maciej Los 3,422
4 Richard Deeming 2,600

Advertise | Privacy | Mobile
Web04 | 2.8.150520.1 | Last Updated 4 May 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100