StretchBlt(stretchblt 图片淡化)

http://www.itjxue.com  2023-02-23 04:54  来源:未知  点击次数: 

StretchBlt 图像不清晰

调用StretchBlt之前,先调用SetSTretchBltMode(hdc, HALFTONE);

对放大和缩小都有效。

还有一点要注意,就是要用全色的图像。不然的话就算你调用了SetSTretchBltMode也不会有好效果。

stretchblt函数怎么用

函数从源矩形中复制一个位图到目标矩形,必要时按目标设备设置的模式进行图像的拉伸或压缩。

x:逻辑单元x轴左上角坐标;

y:逻辑单元y轴左上角坐标;

nWidth: 设备矩形宽度;

nHeight:设备矩形高度;

pSrcDC: 源设备上下文;

xSrc :源矩形 x轴左上角坐标;

ySrc: 源矩形y 轴左上角坐标;

Specifies the x-coordinate (in logical units) of the upper-left corner of the source rectangle.

nSrcWidth:源矩形宽度;

nSrcHeight:源矩形高度

dwRop:指定要进行的光栅操作。

vc中StretchBlt怎么实现图片的旋转

StretchBlt实现不了,它只能实现绽放,要用GetPixel()和SetPixel()函数来做,基本法是,你创建一个图片的内存DC,按照你想要旋转的方式来重新写入各个像素的颜色,例如,你把图片的右下角的点的颜色写入到内存图片DC的左上角,再把最石下角左边的那个点写到左上角第二个位置,如此通过循环后,再把图片内存DC 显示出来,就能实现旋转。

不推荐你用GDI来做复杂的图片操作,用GDI+做起来要简单得多!

CDC类中的StretchBlt与BitBlt之间的区别

简单的说,只有一个:

StretchBlt可以拉伸放缩位图(也可以1:1,就和BitBlt一样了),BitBlt不可以。

当然,在效率上BitBlt更高一些。

什么叫做像素锯齿

一张JPEG的图片,你把它放大,放到很大后你就会发现全是马赛克(也就是正方形放开组成的),比如说图片中有个人物,你放大后发现人物的边缘全部是正方形方块组成的锯齿形状,那就是像素锯齿。像素越高,图片就可以放到更大,图片也就更大,越低,图片的大小也就越小!

(责任编辑:IT教学网)

更多

推荐网站经济文章