怎么样计算图片上两点的长度CM
如果题,不知道用什么算法呀。
[解决办法]
没做过类似的东西,不过知道2点坐标,可以计算出2点之间有多少个像素距离,然后在换算像素和厘米之间的关系,应该还和屏幕分辨率有关,不过应该都有现成的api函数的
[解决办法]
应该可以用三角函数(直角三边),先计算出两边,即可得出两点的距离。
[解决办法]
先计算两点间的像素多少,根据dpi(每英寸多少像素)换算出多少厘米。
以前写的,希望有点用
// 以下代码适用c++builder,windows系统
//---------------------------------------
// 功能:获取桌面dpi
//---------------------------------------
int __fastcall GetDeskTopDpi()
{
HDChdc;
hdc = ::GetDC(::GetDesktopWindow());
int dpi = ::GetDeviceCaps(hdc, LOGPIXELSX);
::ReleaseDC(::GetDesktopWindow(), hdc);
return dpi;
}
//---------------------------------------
// 功能:获取打印机dpi
//---------------------------------------
int __fastcall GetPrinterDpi()
{
return ::GetDeviceCaps(Printer()->Handle, LOGPIXELSX);
}
//---------------------------------------
// 功能:多少mm(毫米)为多少像素
// 参数:dpi是解析度, mm是毫米
//---------------------------------------
double __fastcall MmToPixel(double dpi, double mm)
{
// 每mm(毫米)多少像素公式为 dpi / 25.4
return (dpi / 25.4 * mm);
}
//---------------------------------------
// 功能:多少像素为多少毫米
// 参数:dpi是解析度, pixel是像素
//---------------------------------------
double __fastcall PixelToMm(double dpi, double pixel)
{
return (pixel / (dpi / 25.4));
}