古詩詞大全網 - 成語用法 - MFC中關於StretchDIBits的問題

MFC中關於StretchDIBits的問題

if?(x1/y1>x2/y2) {

xDest=0;

yDest=(y2-y1*(x2/x1))/2;

DestWidth=x2;

DestHeight=y2-yDest;

}

else

{

xDest=(x2-x1*(y2/y1))/2;

yDest=0;

DestWidth=x2-xDest;

DestHeight=y2;

}

}

妳這裏的計算有問題。

第壹個情況,yDest+DestHeight = y2 = wRect的高度。也就是在最下方顯示了,而不是高度居中。

?if?(x1*1.0/y1>x2*1.0/y2)

{

xDest=0;

DestWidth=x2;

DestHeight=y1*x2/x1;

yDest=(y2-DestHeight)/2;

}

這樣應該就對了,else自己寫壹下。