Wykres nasycenia kolorów

0

Witam wszystkich forumowiczów.

Mam pewien problem, na laboratorium mam zrobić program, a jednym z elementów tego programu ma być coś takiego:
user image

Po prostu mam coś takiego wyświetlić - nic poza tym, ale nie wiem przy pomocy czego to zrobić... :( Ktoś pomoże?

Z góry dziękuję.

0

Słowo-klucz: gradient

0

to rysuje gradient;>

#include <QWidget>
#include <QPainter>
#include <QPaintEvent>
#include <QGridLayout>
#include <QApplication>

class ImageWidget : public QWidget
{

    QImage image;

protected:
    void paintEvent(QPaintEvent*);

public:
    ImageWidget(QWidget* parent=0);
};

void ImageWidget::paintEvent(QPaintEvent* e)
{
    int value = 0x00ff00;

    image = QImage(256, 256,QImage::Format_RGB32);
        for (int y = 0; y < image.height(); y++){
            int *p = (int*)image.scanLine(y);
            for (int x = 0; x < image.width(); x++){
                value = (x*255)/image.width();
                p[x] = (value << 16) | (value << 8);
            }
        }
        QPainter paint(this);
        paint.drawImage(0,0,image);
        this->setFixedSize(256,256);
}

ImageWidget::ImageWidget(QWidget* parent) : QWidget(parent)
{
}

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    ImageWidget iw;
    iw.show();
    return a.exec();
}
0

Rozwinę wypowiedź Patryka. http://wiki.freepascal.org/Gradient_Filler - tutaj masz gotowy komponent do tego.

0

@xeo545x39 po co zaraz komponent...
Jak narysować Gradient
Drobna zmiana na scanline i chodzi aż miło.

0

Dzięki Panowie "Gradient" mi wystarczył :) A co do programu od omfg, program w C(?) nie jest mi potrzebny, ale dzięki.

Już sobie poradziłem, wystarczyło użyć GradientFill(prostokąt, kolor_początkowy, kolor_koncowy, kierunek).

1

A mnie się wydaje, ze Ty chyba sam musisz ten gradient narysować, a nie korzystać z gotowych metod ... hmmm

0

Miałem za zadanie wygenerować pokazane wcześniej wykresiki, Pan od laborków zaakceptował taką metodę i zaliczył mi :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1