2010-07-12 10 views
20

Tôi đang tạo một số hình ảnh bằng giao diện Graphics2D và đôi khi tôi muốn có thể vẽ một số văn bản trên hình ảnh và áp dụng cho các hiệu ứng như hình ảnh trong Adobe Photoshop.Làm cách nào để tạo bóng đổ, ánh sáng bên trong và ánh sáng bên ngoài trong Java Swing?

Ngay bây giờ để tạo ra một 'bóng' trên văn bản, tôi vẽ văn bản hai lần, một lần trong màu gốc, và một lần trong màu đen với một chút (1px) x & y bù đắp. Thật không may, điều này là quá đơn giản vì tôi cần kiểm soát nhiều hơn bóng đổ (độ mờ, kích thước, độ phân tán).

Đối với lớp phát sáng bên trong và bên ngoài, tôi không thực sự chắc chắn bắt đầu từ đâu; một mặt nạ/gradient sơn/alpha pha trộn?

Có thư viện Java để sản xuất các loại hiệu ứng này không? Nếu bạn không tạo ra những hiệu ứng này thì sao?

+0

Đã làm việc trả lời của tôi cho bạn? –

Trả lời

20

Tôi rất muốn giới thiệu sách Filthy Rich Clients. Chương 16 nói về bóng đổ. Bạn cũng có thể quan tâm đến điều này blog post. Chương 17 nói về hiệu ứng phát sáng. Có mã ví dụ trên trang web cho cả hai. Phần còn lại của cuốn sách cũng đáng đọc. Tôi không thể đặt cuốn sách xuống khi tôi đọc nó. Có rất nhiều hiệu ứng thú vị khác được giải thích và trình bày trong cuốn sách.

jhlabs site cũng là một trang web tốt, như đã đề cập.

Edit:

Đối với một thư viện, tôi sẽ nhìn vào Họa sĩ trong SwingX library. Dưới đây là một vài hướng dẫn:

2

This site có nhiều thông tin về bộ lọc và hiệu ứng, tôi nghĩ mã nguồn của ứng dụng cũng có sẵn.