Click here to Skip to main content
11,713,069 members (89,170 online)
Rate this: bad
Please Sign up or sign in to vote.
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 17: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 CHill60 335
1 Sergey Alexandrovich Kryukov 290
2 OriginalGriff 240
3 Andy Lanng 160
4 Maciej Los 130
0 CHill60 335
1 Sergey Alexandrovich Kryukov 300
2 OriginalGriff 230
3 Andy Lanng 160
4 Maciej Los 130

Advertise | Privacy | Mobile
Web02 | 2.8.150819.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