想实现的功能是想把一张随机图片变为固定长宽的图片,这里是1000*512,如果图片小于这个size,就居中然后多余部分用黑色填充,如果大于这个size就按比例缩放适用这个size问题是如果图片比...
想实现的功能是想把一张随机图片变为固定长宽的图片,这里是1000 * 512,如果图片小于这个size,就居中然后多余部分用黑色填充,如果大于这个size就按比例缩放适用这个size
问题是如果图片比较小,不进行缩放操作,可以正常生成居中涂黑的图片,如果比较大,进行缩放后生成的图片就是全部黑色的,不知道哪里出的问题
//程序代码
cv::Mat srcImg(newimgHeight, newimgWidth, CV_8UC1, rollbackData);
int curvedWidth = 1000;
int curvedHeight = 512;
double ratImage = (double)newimgWidth / newimgHeight;
double ratCurved = (double)curvedWidth / curvedHeight;
if(ratImage >= ratCurved && newimgWidth > curvedWidth)
{
srcImg = resizeImg2ScreenSize(srcImg,curvedWidth, newimgHeight * curvedWidth / newimgWidth);
}
else if(ratImage < ratCurved && newimgHeight > curvedHeight)
{
srcImg = resizeImg2ScreenSize(srcImg, newimgWidth * c