const double PI=3.14;
double rad = 0.0;
int X,Y;
const int R=10*size;
float k=(max-min)/6;
int n[7];
for (int i = 0; i < 7; i++) {
n[i]=min+k*i;
}
for (int i = -45, j=6; i <315;i+=45) {
if (i!=270) {
rad = (i * (PI/180));
Y = y-R * sin(rad);
X = x+R * cos(rad);
int Y1 = y-R*0.8 * sin(rad);
int X1 = x+R*0.8 * cos(rad);
int Y2 = y-R*0.7 * sin(rad);
int X2 = x+R*0.7 * cos(rad);
image ->Canvas->MoveTo(X1,Y1);
image ->Canvas->LineTo(X,Y);
image->Canvas->TextOutW(X2,Y2, n[j]);
j--;
}
//стрелка
if (max!=0 && min!=0) {
float i =225-value*(360/(float(max - min)) );
ShowMessage(i);
rad = (i * PI/180);
int Y3 = y-R * sin(rad);
int X3 = x+R * cos(rad);
image ->Canvas->MoveTo(x,y);
image ->Canvas->LineTo(X3,Y3);
image ->Canvas->TextOutW(X3,Y3,value);
}
код для значения, но он подходит только для полного циферблата у которого обход 360, но ведь у меня 270, помогите как сместить это.