更新时间:2015-12-15 22:09:08浏览次数:1+次
直接申明进行图片的简单变换,申明的方法
EncoderValueTransformRotate90;
EncoderValueTransformRotate180;
EncoderValueTransformRotate270;
EncoderValueTransformRotateFlipHorizontal;
EncoderValueTransformRotateFlipVertical;
代码实现图片的转换及旋转:
void C油表View::OnGdiTransformingjpeg()
{
// TODO: 在此添加命令处理程序代码
Graphics graphics(this->m_hWnd);
this->RedrawWindow();
CLSID encoderClsid;
EncoderParameters encoderParameters;
ULONG transformation;
Status stat;
/////加载图片
Image image(L"媳妇~.bmp");
RectF rect(0, 0, image.GetWidth(), image.GetHeight());
///显示正常图片
graphics.DrawImage(&image, rect);
////获取JPEG格式的编码方式
GetEncoderClsid(L"image/jpeg", &encoderClsid);
////构造编码参数列表EncoderParameters
////数组中只包含一个EncoderParameters对象
encoderParameters.Count = 1;
encoderParameters.Parameter[0].Guid = EncoderTransformation;
////参数类型为Long
encoderParameters.Parameter[0].Type = EncoderParameterValueTypeLong;
/////只设置一个参数
encoderParameters.Parameter[0].NumberOfValues = 1;
transformation = EncoderValueTransformRotate90;
encoderParameters.Parameter[0].Value = &transformation;
stat = image.Save(L"cos2.jpg", &encoderClsid, &encoderParameters);
if (stat == Ok)
{
Image image01(L"cos2.jpg");
graphics.TranslateTransform(rect.Width + 10, 0);
graphics.DrawImage(&image01, rect);
}
else
{
AfxMessageBox(L"文件保存失败!");
}
}
相关资讯