Brauche Hilfe
Verfasst: 2. Dezember 2008 12:55
Hi,
ich hab da ein Problem aber erstmal Code das veranschaulicht das vieleicht am anfang besser:
So also damit kann ich jetzt ein Bild erstellen Werte übergeben und daraus werden dann auf dem Bild vertikale Striche. Wobei die ersten Punkte den übergebenen Werten entsprechen und der Rest dazwischen wird interpolier. Das klappt soweit ganz gut.
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
Wäre es ja das. Nur weis ich jetzt nicht wie ich das oben einbaun kann damit die "interpolierten" Werte übergeben werden.
Ich hoffe das ist erstmal verständlich und würde mich sehr über Hilfe freun.
Gruß
Qt-Nator
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