Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
private void putWaterMark(Mat alpha){
String logo = _applicationName;
String subLogo = "Free version";
double fontScale = 1;
double maxFontScale = 15;
int thickness = 7;
int [] baseline = {0};
// начало текста по горизонтали
double x = Math.random() * alpha.cols()/10+15;
// начало текста по вертикали
double y1 = alpha.rows() / 10.;
double y2 = alpha.rows() * 0.9;
double y = y1 + Math.random() * (y2 - y1);
Point beginLogo = new Point(x,y);
// максимальная ширина текста
int maxLength = alpha.cols() - (int) beginLogo.x;
// подбор размера фонта под ширину текста:
Size textsize = new Size(100,100);
for (double d=maxFontScale; d>0; d = d - 0.5){
textsize = Core.getTextSize(logo, Core.FONT_HERSHEY_COMPLEX, d, thickness, baseline);
if (textsize.width < maxLength) {
fontScale = d;
break;
}
}
Core.putText(alpha, logo, beginLogo, Core.FONT_HERSHEY_COMPLEX, fontScale, new Scalar(255), thickness);
beginLogo.y = beginLogo.y + textsize.height;
Core.putText(alpha, subLogo, beginLogo, Core.FONT_HERSHEY_COMPLEX, fontScale/2, new Scalar(255), thickness-3);
}


«Взлом» SmartDeblur 2.2