c语言 图像按比例缩放,VC中如何等比例缩放图像

在放大或缩小图像时,如何能最好的保持图像原态比例来显示呢?下面提供一个涵数可帮你来实现,调用它后,返回的矩形区域既为最佳显示图像大小。

涵数中的第一个参数rcScreen为图像要被显示的矩形大小,第二个参数sizePicture为图像自身大小,第三个参数bCenter为是否居中显示,返回值CRect既为图像最佳显示大小。

涵数如下所示:

CRect RectSizeWithConstantRatio( CRect* rcScreen,

CSize sizePicture,

BOOL bCenter)

{

CRect rect(rcScreen);

double dWidth = rcScreen->Width();

double dHeight = rcScreen->Height();

double dAspectRatio = dWidth/dHeight;

double dPictureWidth = sizePicture.cx;

double dPictureHeight = sizePicture.cy;

double dPictureAspectRatio = dPictureWidth/dPictureHeight;

//If the aspect ratios are the same then the screen rectangle

// will do, otherwise we need to calculate the new rectangle

if (dPictureAspectRatio > dAspectRatio)

{

int nNew


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部