c语言对bmp位图文件进行分割,横坐标方向实际250mm,分成6份,约41.6,纵坐标250-500,按照41.6整数倍分割,如果多出一部分不足41.6可以并入上一部分,也可以再次分割作下一部分。
https://www.docin.com/p-1033926574.html
假如你说的mm单位就是一个pixel的话,那么你的问题变为,250x250大小的图片,分割为6x6份。
uint8_t* data = new uint8_t[250 * 250 * 3]; // 每个像素有RGB三个数据
uint8_t output[6 * 6][41* 41 *3 ]; //用于储存你分割的数据
//在这,用你的图片数据填充data;
for( int row = 0; row < 250; row++) {
for(int col = 0; col < 250 * 3; col +=3) {
output[row / 41 * col / 41][(row % 41) * 41 + (col % 41)] = data [row * 250 + col];
output[row / 41 * col / 41][(row % 41) * 41 + (col % 41) +1] = data [row * 250 + col +1];
output[row / 41 * col / 41][(row % 41) * 41 + (col % 41) +2] = data [row * 250 + col +2];
}
}
//将output逐个保存为BMP就行
直接手敲的代码,这里只提供思路,若有编译或者逻辑缺陷,自己修改