Как увеличить клип Swing Graphics2D, установленный RepaintManager

Я застрял с управлением перекраски Swing. Я хотел бы размыть фон компонента. Я использую BufferedImage для захвата и размытия материала, покрываемого моим компонентом. На paintComponent() я рисую размытое изображение в качестве фона.

Все работает нормально, если компонент перекрашивается полностью, но я не могу преодолеть проблемы в следующем сценарии:

  • Компонент покрыт моим компонентом, но не полностью перекрывается
  • Перед выполнением перерисовки RepaintManager устанавливает клип (субрегион, покрывающий скрытый компонент), ограничивающий изменения графического объекта.
  • установка / очистка пользовательского клипа всегда пересекается с этим регионом клипа
  • создание нового графического объекта всегда является копией или пересекает эту область клипа
  • Поскольку изображение, которое я хочу нарисовать, размыто, я должен рисовать пиксели за пределами клипа, установленного RepaintManager

Как я могу убедиться, что компонент может рисовать все свои пиксели в paintComponent() независимо от клипа, установленного RepaintManager?

Помощь очень ценится.

Спасибо за помощь заранее.

0 ответов

Другие вопросы по тегам