我写了一个类,负责处理图像按钮:
#include "ImageButton.h"
ImageButton::ImageButton()
{
// main constructor
}
ImageButton::ImageButton(wxWindow* parent, const wxString& buttonPath)
: wxStaticBitmap(parent, wxID_ANY, wxBitmap(buttonPath, wxBITMAP_TYPE_PNG), wxPoint(0, 0), wxDefaultSize)
{
Refresh();
}
ImageButton::~ImageButton()
{
// ...
}
这是非常开始和基本的。但是,我刚刚发现可能无法调整图像大小(不改变图像尺寸)。
这是图像的样子:
我想在这里实现的是告诉wxStaticBitmap
当时只显示一个关闭方形按钮(这样我就可以制作一个鼠标悬停/点击事件处理程序它)。设置它的大小在这里不起作用,那不是我想要的。
在这种情况下,是否可以在特定尺寸裁剪图像?
答案 0 :(得分:2)
您可以从中创建两个图像。其中一种方法是使用wxImage::Resize
(首先制作原始图像的副本)。第二种方法是使用wxBitmap::GetSubBitmap
(你需要将wxImage转换为wxBitmap - 这可以通过简单的赋值来完成)。这真的取决于你想要达到的目标以及对你来说更方便的东西。