#pragma once
#ifndef PUTTEXT_H_
#define PUTTEXT_H_
#include <Windows.h>
#include <string>
#include <opencv2/opencv.hpp>
using namespace cv;
class putText
{
private:
static void GetStringSize(HDC hdc, const char* str, int* w, int* h);
public:
static void putTextZH(Mat& dst, const char* str, Point org, Scalar color, int fontsize,
const char* fn = "Arial", bool italic = false, bool underline = false);
static std::string UtfToGbk(std::string strValue);
};
#endif // !PUTTEXT_H_
#include "putText.h"
void putText::GetStringSize(HDC hdc, const char* str, int* w, int* h)
{
SIZE size;
GetTextExtentPoint32A(hdc, str, strlen(str), &size);
if (w != 0) *w = size.cx;
if (h != 0) *h = size.cy;
}
void putText::putTextZH(Mat& dst, const char* str, Point org, Scalar color, int fontsize, const char* fn, bool italic, bool underline)
{
CV_Assert(dst.data != 0 && (dst.channels() == 1 || dst.channels() == 3));