显示图像精灵中的特定图像
Show certain image from image sprite
我写了一个 class 来负责图像按钮的处理:
#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
当时只显示 一个 关闭方形按钮(这样我就可以制作鼠标 over/click 它的事件处理程序)。设置它的大小在这里不起作用,那不是我想要的。
在这种情况下是否可以按特定尺寸裁剪图像?
您可以从中创建两个图像。其中一种方法是使用 wxImage::Resize
(首先复制原始图像)。第二种方法是使用 wxBitmap::GetSubBitmap
(您需要将 wxImage 转换为 wxBitmap - 这可以通过简单的赋值来完成)。这真的取决于你想要实现什么,什么对你来说更方便。
我写了一个 class 来负责图像按钮的处理:
#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
当时只显示 一个 关闭方形按钮(这样我就可以制作鼠标 over/click 它的事件处理程序)。设置它的大小在这里不起作用,那不是我想要的。
在这种情况下是否可以按特定尺寸裁剪图像?
您可以从中创建两个图像。其中一种方法是使用 wxImage::Resize
(首先复制原始图像)。第二种方法是使用 wxBitmap::GetSubBitmap
(您需要将 wxImage 转换为 wxBitmap - 这可以通过简单的赋值来完成)。这真的取决于你想要实现什么,什么对你来说更方便。