Trong JavaFX 2.2 ImageView
luôn thực hiện làm mịn bất kể gợi ý smooth mà bạn cung cấp cho ImageView
.
(Dựa trên thử nghiệm sử dụng Java 7u15 và Windows 7 có thẻ đồ họa ATI HD4600).
Có lẽ đó là lỗi mà ImageView
sẽ luôn làm mịn Image
, nhưng tài liệu không thực sự xác định chính xác những gì làm mịn hoặc không làm, vì vậy thật khó để nói ý định thực sự của nó là gì. Bạn có thể muốn đăng một tham chiếu đến câu hỏi này đến openjfx-dev mailing list hoặc đăng nhập một vấn đề trong JavaFX issue tracker để có thêm ý kiến chuyên gia từ nhà phát triển.
Tôi đã thử một vài phương pháp khác nhau để điều chỉnh tỷ lệ hình ảnh:
- Scale trong Image constructor.
- Quy mô trong
ImageView
với fitWidth/fitHeight.
- Quy mô bằng cách sử dụng các thuộc tính scaleX/scaleY trên
ImageView
.
- Quy mô bằng cách lấy mẫu
Image
bằng PixelReader và tạo Hình ảnh mới với PixelWriter.
Tôi phát hiện ra rằng các phương pháp 1 & 4 dẫn đến hình ảnh được đánh dấu sắc nét như bạn muốn và 2 & 3 dẫn đến hình ảnh có hình mờ.
![robot-sampling](https://i.stack.imgur.com/ifGkJ.png)
Sample code để tạo ra sản lượng cao hơn.
Cập nhật với những ý tưởng về việc thực hiện bộ lọc hình ảnh của riêng bạn
Một JavaFX Effect là không giống như các bộ lọc sử dụng cho các thói quen tải hình ảnh, mặc dù một hiệu ứng để lọc một hình ảnh có thể được tạo ra. Trong JavaFX 2.2 công khai tài liệu API để hỗ trợ tạo ra các hiệu ứng tùy chỉnh, do đó, việc tạo ra một hiệu ứng tùy chỉnh có thể chứng minh khó khăn.
native code for image support gần đây đã được mở nguồn dưới dạng một phần của openjfx project, vì vậy bạn có thể xem điều đó để xem cách lọc hiện được triển khai.
Bạn cũng có thể muốn gửi feature request against the JavaFX runtime project để "cho phép chúng tôi tạo bộ lọc 2D của riêng mình".
Bạn có thể thử Canvas để kiểm soát tối đa. –
Thật không may, tôi không nghĩ rằng có một cách để làm điều đó trong một khung. Những gì họ thực sự cần làm là cho phép chúng tôi tạo các bộ lọc 2D của riêng mình (tôi đoán chúng được gọi là "Hiệu ứng" trong JavaFX). – ajselvig
Đã cập nhật câu trả lời của tôi với các ý tưởng về triển khai bộ lọc hình ảnh của riêng bạn. – jewelsea