zoukankan      html  css  js  c++  java
  • 合并两个ICON

          记得 Windows 里的快捷方式么,将你的程序拖到桌面上建立一个快捷方式,不论程序用的是什么IconMicrosoft都会在Icon左下脚加上一个小小的箭头,很好玩是不是?下面我提供两种方式来实现这种效果:

    1. 直接利用HICON CreateIconIndirect ( PICONINFO piconinfo );

    HICON CombineIcon(
                     HICON hBaseIcon, 
    //底层Icon,yi:xFc(`WDM教育N=yz"放在下面的那个

                     HICON hTopIcon, 
    //上层Icon,盖在上面的那个
                     

                     
    int iWidth, //Icon的宽度

                     
    int iHeight, //Icon的高度

                     COLORREF colorkey
    //透明色

                     )
    {
        HDC hdc 
    = GetDC(NULL);

        //建立一个兼容DC,用于作图

        HDC memdc 
    = CreateCompatibleDC(hdc);

         //注意,这里的参数dc不能为兼容dc,否则就是单色位图

        HBITMAP membmp 
    = (HBITMAP)CreateCompatibleBitmap(hdc, 3232);

        HBITMAP oldbmp 
    = (HBITMAP)SelectObject(memdc, membmp);

        HBRUSH br 
    = (HBRUSH)GetStockObject(colorkey);    
        
        RECT rect;
        rect.left 
    = 0;
        rect.right 
    = 32;
        rect.top 
    = 0;
        rect.bottom 
    = 32;

        SelectObject(memdc, br);

        //填充透明色

        FillRect(dc, 
    &rcct, br); 


        DrawIconEx(memdc, 
    00, hBaseIcon, iWidth, iHeight0, NULL, DI_NORMAL);  

        DrawIconEx(memdc, 
    00, hTopIcon , iWidth, iHeight0, NULL, DI_NORMAL);
       
         //保持图片

        SelectObject(memdc, oldbmp);

        ICONINFO info;

        info.fIcon 
    = true;
        info.hbmMask 
    = CreateBitmap(323211, NULL);
        info.hbmColor 
    = membmp;

        return
     CreateIconIndirect(&info);


    }


    2. 利用ImageList.ExtractIcon 将bitmap 转化成Icon



  • 相关阅读:
    题解 P1003 【铺地毯】
    题解 P1000 【超级玛丽游戏】
    题解 P1036 【选数】
    题解 P1217 【[USACO1.5]回文质数 Prime Palindromes】
    题解 AT934 【完全数】
    题解 P2044 【[NOI2012]随机数生成器】
    题解 P4277 【河城荷取的烟花】
    System.Linq.Dynamic.Core
    008 TBS Studio 真机开发辅助工具的简单说明
    webpack
  • 原文地址:https://www.cnblogs.com/Jianchidaodi/p/560776.html
Copyright © 2011-2022 走看看