EncoderParameters encoderParameters; // 编码参数对象数组
ULONG parameterValue; // 编码值
encoderParameters.Count = 1; // 只有一个参数对象
encoderParameters.Parameter[0].Guid = EncoderSaveFlag; // 保存标志 ???
// 参数为长整数类型 Parameter类
encoderParameters.Parameter[0].Type = EncoderParameterValueTypeLong;
encoderParameters.Parameter[0].NumberOfValues = 1; // 只有一个参数
encoderParameters.Parameter[0].Value = ¶meterValue; // 参数值的地址
Bitmap mimg(L"C:\\Users\\qianyuxiang\\Desktop\\a1.bmp"); // 创建多帧图像对象,并装入第一个图片
CLSID clsid; // 类ID CLSID = class_id
if (GetEncoderClassID(L"TIFF", &clsid)) { // 获取类ID
parameterValue = EncoderValueMultiFrame; // 设置多帧格式
mimg.Save(L"C:\\Users\\qianyuxiang\\Desktop\\my.tif", &clsid, &encoderParameters); // 保存第一帧图片
if (mimg.GetLastStatus() != Ok) { // 出错显示提示信息并返回
MessageBox(L"保存文件出错!");
return;
}
}
else {
MessageBox(L"找不到指定的编码器!");
return;
}
wchar_t fnStr[256];
for (int i = 2; i <= 4; i++) {
parameterValue = EncoderValueFrameDimensionPage; // 设置多帧子图片格式
swprintf_s(fnStr, 256, L"C:\\Users\\qianyuxiang\\Desktop\\a%d.bmp", i); // 设置文件名
mimg.SaveAdd(&Image(fnStr), &encoderParameters); // 添加新图片
if (mimg.GetLastStatus() != Ok) { // 出错显示提示信息并返回
MessageBox(L"添加文件出错!");
return;
}
}
VC用一组Bitmap创建TIFF格式的图片
最新推荐文章于 2022-09-21 22:30:36 发布