2

我制作了一个 JxImageView 对象并为其设置了一个图像,现在我得到了白色作为它的背景,这不在原始图像中。我只想从视口中删除白色。

4

3 回答 3

4

我不知道 JxImageView,但我不知道它如何改变图像的背景颜色,因为图像没有任何背景颜色。这可能只是意味着图像的某些部分是透明的,而您看到的白色是显示图像的组件的背景色:JxImageView. 您可能应该将 , 的背景颜色更改为JxImageView适合您的颜色。

JxImageView 本身也可以是透明的,在这种情况下您会看到其父组件的背景。

尝试在图像编辑器中加载图像以确认图像是透明的。

于 2012-01-14T14:04:25.030 回答
4

阅读文档后,我得出结论(如果我错了,请纠正我)你不能改变白色背景

在 JxImageView 的构造函数中,您会看到:

/** Creates a new instance of JXImageView */
public JXImageView() {
      checkerPaint = ColorUtil.getCheckerPaint(Color.white,
      new Color(250, 250, 250), 50);
      setEditable(true);
}

并且无法访问 checkerPaint

于 2012-01-14T14:08:15.713 回答
3

在当前快照中修复了JXImageView 错误(顺便说一句,SwingX 1.6.3 后,以防您错过发布公告:) 要替换默认的方格背景,只需设置自定义背景画家:

JXImageView ipa = new JXImageView();
ipa.setBackgroundPainter(new MattePainter(Color.RED));
于 2012-02-02T14:30:53.657 回答