mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 09:25:45 +08:00
Merge pull request #10575 from ioxp:getFontScale
This commit is contained in:
commit
59915a3fc9
@ -4730,6 +4730,20 @@ CV_EXPORTS_W Size getTextSize(const String& text, int fontFace,
|
||||
double fontScale, int thickness,
|
||||
CV_OUT int* baseLine);
|
||||
|
||||
|
||||
/** @brief Calculates the font-specific size to use to achieve a given height in pixels.
|
||||
|
||||
@param fontFace Font to use, see cv::HersheyFonts.
|
||||
@param pixelHeight Pixel height to compute the fontScale for
|
||||
@param thickness Thickness of lines used to render the text.See putText for details.
|
||||
@return The fontSize to use for cv::putText
|
||||
|
||||
@see cv::putText
|
||||
*/
|
||||
CV_EXPORTS_W double getFontScaleFromHeight(const int fontFace,
|
||||
const int pixelHeight,
|
||||
const int thickness = 1);
|
||||
|
||||
/** @brief Line iterator
|
||||
|
||||
The class is used to iterate over all the pixels on the raster line
|
||||
|
@ -2364,6 +2364,17 @@ Size getTextSize( const String& text, int fontFace, double fontScale, int thickn
|
||||
return size;
|
||||
}
|
||||
|
||||
double getFontScaleFromHeight(const int fontFace, const int pixelHeight, const int thickness)
|
||||
{
|
||||
// By https://stackoverflow.com/a/27898487/1531708
|
||||
const int* ascii = getFontData(fontFace);
|
||||
|
||||
int base_line = (ascii[0] & 15);
|
||||
int cap_line = (ascii[0] >> 4) & 15;
|
||||
|
||||
return static_cast<double>(pixelHeight - static_cast<double>((thickness + 1)) / 2.0) / static_cast<double>(cap_line + base_line);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user