现要在一个button上画一个透明图,已经知道如何画一个透明图,可因系统大字体下,button会变大,这个透明图的大小却不变,导致出错。
 各位大侠,如何将这个透明图缩放地显示button上呀?请不吝赐教,感激不尽。

解决方案 »

  1.   

    两个办法:
    如果画透明图的函数可以改的话,就把里面的BitBlt改为StretchBlt
    如果不行的话,就创建一个和透明图相同大小的临时位图,先把按钮StretchBlt到临时位图上,然后把透明图TransparentBlt到临时位图上,然后再将临时位图StretchBlt到屏幕上。
      

  2.   

    获取按钮大小,把最后向按钮绘制时的 BitBlt 改为 StretchBlt
      

  3.   

    将BitBlt改成StretchBlt,虽然可以画,但用要变为透明的部分无法被滤掉呀。
      

  4.   

    你原来的透明是怎么做的?用的TransparentBlt还是掩码位图?
    如果是TransparentBlt,那直接就可以缩放;如果是掩码位图,那必然有两步BltBlt,把两步都改成StretchBlt就OK了。不影响透明效果。
      

  5.   

    是掩码位图,因发现在放大原图时,24位真彩的图中如设红(255,0,0)为过滤色,当图像缩放时,会将其它周围的色值也变成近似红色从而没法过滤掉。不知该如何处理。看来只能将原图画好后再trancparentBlt缩放了。
      

  6.   

    这个是因为Stretch的时候做了近似导致的。SetStretchBltMode(COLORONCOLOR)可以解决这个问题。
      

  7.   

    顶superarhow(苏泊尔耗) ,就是这样干地...