ich hab da ein Problem aber erstmal Code das veranschaulicht das vieleicht am anfang besser:
Code: Alles auswählen
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
int nWidth;
int nHeight;
int nXAnzahl;
int nYAnzahl;
QVector<double> vecPoints;
qDebug() << "Anzahl der X Punkte?\n";
cin >> nXAnzahl;
qDebug() << "Anzahl der Y Punkte?\n";
cin >> nYAnzahl;
qDebug() << "Breite eigeben!\n";
cin >> nWidth;
qDebug() << "Höhe eingeben!\n";
cin >> nHeight;
QImage Image(nWidth,nHeight, QImage::Format_Indexed8);
QVector<QRgb> colorTable(255);
QRgb *data = colorTable.data();
for ( int i=0; i < 255; i++ )
{
data[i] = qRgb(i, i, i);
}
Image.setColorTable(colorTable);
Image.fill(254);
int nXStep = nWidth / nXAnzahl;
qDebug() << "Werte eingeben!";
for(int i = 0; i < nXAnzahl; i++)
{
Spline spl1(false,.5);
for(int j = 0; j < nYAnzahl; j++)
{
qDebug() << "Wert für" << j << "ten" << i << "Wert eingeben";
int nWert;
cin >> nWert;
spl1.addUserPoint(nWert);
}
for(int y = 0; y < nHeight; y++)
{
double dDiv = nHeight / nYAnzahl;
double dSegmentNumberAndK = y / dDiv;
int nSegment = dSegmentNumberAndK;
double dK = dSegmentNumberAndK - nSegment;
double dValue;
spl1.evaluate(dValue,nSegment,dK);
Image.setPixel(i * nXStep, y, dValue + .5);
}
spl1.clearUserPoints();
}
Image.save("../);
a.exit(0);
}
1tes Problem: Wie krieg ich die "interpolierten" Werte in ein Array, Vector ist einfach aber ich brauch halt ein Array.
2tes Problem: Das ganze möchte ich jetzt auch noch Horizontal machen ich weis nur nicht wie ich die "interpolierten" Werte richtig übergeben kann damit das läuft...
Im Prinzip
Code: Alles auswählen
for(int x = 0; x < nWidth - 1; x++)
{
double dDiv = nWidth / nXDirection;
double dSegmentNumberAndK = x / dDiv;
int nSegment = dSegmentNumberAndK;
double dK = dSegmentNumberAndK - nSegment;
double dValue;
spl2.evaluate(dValue,nSegment,dK);
vecPoints.push_back(dValue);
imgImage.setPixel(x, y, dValue + .5);
}
Ich hoffe das ist erstmal verständlich und würde mich sehr über Hilfe freun.
Gruß
Qt-Nator