2009-04-19 3 views
0

Я пытаюсь создать накладку с Vista Aero Glass-like вместо обычного окна. Часть моего ответа кажется here, но мне интересно, как получить эффект размытия в Swing/AWT. This выглядит как старт:Визуальный граничный эффект в Java Swing/AWT

public BufferedImage processImage(BufferedImage image) { 
    float[] blurMatrix = { 1.0f/9.0f, 1.0f/9.0f, 1.0f/9.0f, 1.0f/9.0f, 1.0f/ 
      9.0f, 1.0f/9.0f, 1.0f/9.0f, 1.0f/9.0f, 1.0f/9.0f }; 
    BufferedImageOp blurFilter = new ConvolveOp(new Kernel(3, 3, blurMatrix), 
      ConvolveOp.EDGE_NO_OP, null); 
    return blurFilter.filter(image, null); 
} 

... но я бы очень хотел, чтобы получить близкое соответствие. Кажется, этот процесс должен быть:

  1. Размытия фонового изображения
  2. Закрасьте с прозрачным серым (или любым другим Б.Г. цвета вы собираетесь)
  3. Затем краской непрозрачных содержимое окна

Если я получу это правильно, я могу бросить тени в окне Aero.

Есть ли я на правильном пути? Как точно я должен сделать размытие, чтобы получить тот же самый взгляд? Может, кто-то уже решил эту проблему? (Для справки откройте меню запуска Vista и посмотрите на правую сторону.)

ответ

1

У меня нет решения в руке, но вы можете определенно наложить цвет на стадии размытия. Все, что вам когда-либо понадобится, чтобы узнать о эффектах Swing и эффектах Swing image, находится в отличном Filthy Rich Clients. Ответ на ваш вопрос определенно присутствует.

На самом деле, если вы посмотрите в разделе примеров и загрузите код главы 8 с этого сайта, есть код для выполнения размытия и оттенка, которые вам нужны.

Thanks, jT

Смежные вопросы