Hola, no solucionó mi problema, es mas me da mas lejos de lo real, en la versión anterior, al menos obtenía la dist. en mm sobre la pantalla y era correcta. Ahora, ni eso.
Estoy usando una función que retorna elBITMAPINFOHEADER, supuestamente tengo los pixels por metro, ¿metro medido sobre qué?.
Aqui dejo el código:
Código Delphi
[-]Var
pto1,pto2:TPuntoVisual;
pixelXpormetro,pixelYpormetro:Integer;
distXpixel,distYpixel: Double;
distXmm,distYmm: Double;
pixelXpormm,pixelYpormm: Double;
Begin
getResolucionBitMap(pixelXpormetro,pixelYpormetro);
pixelXpormm := 0.001*pixelXpormetro;
pixelYpormm := 0.001*pixelYpormetro;
imgHdl := fact.getInstanceImgHndl;
pto1 := imgHdl.getPuntoVisual(p1);
pto2 := imgHdl.getPuntoVisual(p2);
distXpixel := deltaPixels(pto1.x,pto2.x);
distYpixel := deltaPixels(pto1.y,pto2.y);
distXmm := distXpixel/pixelXpormm;
distYmm := distYpixel/pixelYpormm;
imgHdl.DistPixels := distancia(distXpixel,distYpixel);
imgHdl.Distmm := distancia(distXmm,distYmm);
imgHdl.FactorEscala := (imgHdl.Distmm/imgHdl.DistPixels)*(1.0);
End;
Si alguien sabe que puede pasar, gracias...