数据结构定义
如果dw 和 dh 有值,则缩放成为dw或者dh 为最终值的图片,fix_type中msrc为源图,mdest为需要生成的图
typedef enum fix_enum
{
enum_x_fix,
enum_y_fix,
enum_xy_fix
}fix_enum;
typedef struct fix_type
{
//int sw;
//int sh;
int dw;
int dh;
fix_enum fix;
// string dest;
Mat msrc;
Mat mdest;
}fix_type;
等比例缩放函数
算法如下:
//1 指定x宽度,y成比例
//2 制定y高度,x成比例
String get_dest(String &srcImage,fix_type &ftype) {
size_t t = srcImage.find_last_of(".");
String destfile = srcImage.substr(0, t);
String after = srcImage.substr(t, srcImage.length() - t);
double scale = 1.0f;
int width = ftype.msrc.cols;
int height = ftype.msrc.rows;
int ddw = 0;
int ddh = 0;
switch (ftype.fix)
{
case enum_x_fix: //width 宽度,y成比例
scale = (float)ftype.dw / (float)width ;
ddw = width*scale;
ddh = height*scale;
break;
case enum_y_fix:
scale = (double)ftype.dh / (double)height;
ddw = width *scale;
ddh = width *scale;
break;
case enum_xy_fix:
ddw = ftype.dw;
ddh = ftype.dh;
break;
}
stringstream s;
s
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?