Click here to Skip to main content
14,271,418 members
Rate this:
Please Sign up or sign in to vote.
See more:
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);
Is there a function QColor::fromCmyk(Qrgb); exists in your program ?
If yes, post that code here as well.
hor_313 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 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)

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