?
Hallo,
ich hab mal eine Formel von einem Mathematiker bekommen. Habe da ein Kreuz, in der Mitte einen Kreis und an den Endpunkten der Linien 60, 15, 30, 45 in Label-Feldern. Diesen Kreis lege ich über Bilder von Augen. Da bei den Aufnahmen der Kopf schief gehalten werden kann und auch die Pupillen unterschiedlich groß sind kann man mit Button dann diese Grafik verschieben, drehen bzw. auch den Kreis größer / kleiner machen.
Ich versuch mal das umzubauen auf meinen Pfeil.
Hier die Rechtsdrehung. dGradRechts wird jeweils um Grad N inkrementiert / dekrementiert vor Aufruf der Funktion.
frmIris->objSkalaRechts->Canvas->FillRect(frmIris->ClientRect);
frmIris->objSkalaRechts->Canvas->Ellipse(iCircleStartRechts, iCircleStartRechts, iCircleEndRechts, iCircleEndRechts);
double pi = 3.14159265358979;
double dGradRechts2 = 90 - dGradRechts;
x = dLengthRechts*cos(dGradRechts2*pi/180);
y = dLengthRechts*sin(dGradRechts2*pi/180);
x+=150;
y=150-y;
frmIris->objSkalaRechts->Canvas->MoveTo(150, 150);
frmIris->objSkalaRechts->Canvas->LineTo(x, y);
frmIris->lbl60R->Top = frmIris->objSkalaRechts->Top + y;
frmIris->lbl60R->Left = frmIris->objSkalaRechts->Left + x - 5;
dGradRechts2 = dGradRechts * -1;
x = dLengthRechts*cos(dGradRechts2*pi/180);
y = dLengthRechts*sin(dGradRechts2*pi/180);
x+=150;
y=150-y;
frmIris->objSkalaRechts->Canvas->MoveTo(150, 150);
frmIris->objSkalaRechts->Canvas->LineTo(x, y);
frmIris->lbl15R->Top = frmIris->objSkalaRechts->Top + y - 5;
frmIris->lbl15R->Left = frmIris->objSkalaRechts->Left + x;
dGradRechts2 = dGradRechts + 90;
x = dLengthRechts*cos(dGradRechts2*pi/180);
y = dLengthRechts*sin(dGradRechts2*pi/180);
x+=150;
y+=150;
frmIris->objSkalaRechts->Canvas->MoveTo(150, 150);
frmIris->objSkalaRechts->Canvas->LineTo(x, y);
frmIris->lbl30R->Top = frmIris->objSkalaRechts->Top + y;
frmIris->lbl30R->Left = frmIris->objSkalaRechts->Left + x - 5;
dGradRechts2 = 180 - dGradRechts;
x = dLengthRechts*cos(dGradRechts2*pi/180);
y = dLengthRechts*sin(dGradRechts2*pi/180);
x+=150;
y=150-y;
frmIris->objSkalaRechts->Canvas->MoveTo(150, 150);
frmIris->objSkalaRechts->Canvas->LineTo(x, y);
frmIris->lbl45R->Top = frmIris->objSkalaRechts->Top + y - 5;
frmIris->lbl45R->Left = frmIris->objSkalaRechts->Left + x - 12;
Hans