Как сделать прозрачный фоновый цвет изображения, отображаемого через jxImageview - PullRequest
2 голосов
/ 14 января 2012

Я сделал объект JxImageView и установил для него изображение, теперь я получил белый цвет в качестве фона, которого нет на исходном изображении. я просто хочу удалить белый цвет из области просмотра.

Ответы [ 3 ]

4 голосов
/ 14 января 2012

После прочтения документов я заключаю (поправьте меня, если я ошибаюсь), вы не можете изменить белый фон

В конструкторе JxImageView вы видите:

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

и checkerPaint недоступна

4 голосов
/ 14 января 2012

Я не знаю JxImageView, но я не понимаю, как это могло бы изменить цвет фона изображения, потому что изображение не имеет какого-либо цвета фона.Это, вероятно, просто означает, что некоторые части изображения прозрачны, и что белый цвет, который вы видите, является фоновым цветом компонента, который отображает изображение: JxImageView.Возможно, вам следует просто изменить цвет фона JxImageView на подходящий вам цвет.

JxImageView также может быть прозрачным, в этом случае вы увидите фон его родительского компонента.

Попробуйте загрузить изображение в редакторе изображений, чтобы убедиться, что оно прозрачное.

3 голосов
/ 02 февраля 2012

Ошибка JXImageView исправлена ​​в текущем снимке (кстати, после SwingX 1.6.3, на тот случай, если вы пропустили объявление о выпуске :) Чтобы заменить клетчатый фон по умолчанию, просто установить пользовательский фоновый художник:

JXImageView ipa = new JXImageView();
ipa.setBackgroundPainter(new MattePainter(Color.RED));
...