zoukankan      html  css  js  c++  java
  • [置顶] [wxWidgets]_[使用wxRendererNative画的原生图片生成带alpha透明区域的wxBitmap]


    wx生成的原生checkbox图片:


    场景:


    1.如果要开发自定义的checkBox和radiobutton,原生的控件背景色是无法替换为父控件的背景的,这种情况只能开发自己的自定义radiobutton.如果是自定义的radiobutton,那么少不了radiobutton的图片,这时候最简单的当然是要美工制作再贴图啦,但是也有办法不需要美工制作图片,因为wx的wxRendererNative本来就自带。


    好了,看代码吧:

    wxRendererNative &render = wxRendererNative::Get();
        const wxSize sizeCheck = render.GetCheckBoxSize(panel_);
        wxBitmap bitmap(sizeCheck.x, sizeCheck.y);
        wxMask *mask = new wxMask(bitmap, *wxBLACK);
        bitmap.SetMask(mask);
        wxImage image = bitmap.ConvertToImage();
        image.InitAlpha();
        wxBitmap bt(image);
    
        wxMemoryDC mDc;
        mDc.SelectObject(bt);
        render.DrawCheckBox(panel_, mDc, wxRect(0, 0, sizeCheck.x, sizeCheck.y));
        //render.DrawRadioBitmap(panel_, mDc, wxRect(0, 0, sizeCheck.x, sizeCheck.y));
    
        mDc.SelectObject(wxNullBitmap);
        bt.SaveFile(wxT("E:/bt.png"),wxBITMAP_TYPE_PNG);


  • 相关阅读:
    无主之地1
    A+B Problem(V)
    取石子(七)
    又见拦截导弹
    【Chat】实验 -- 实现 C/C++下TCP, 服务器/客户端 "多人聊天室"
    【Echo】实验 -- 实现 C/C++下UDP, 服务器/客户端 通讯
    【Echo】实验 -- 实现 C/C++下TCP, 服务器/客户端 通讯
    对决
    重建二叉树
    花儿朵朵
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3112944.html
Copyright © 2011-2022 走看看