2008-08-22 22 views
10

Chống răng cưa cannot be turned off trong WPF. Nhưng tôi muốn loại bỏ giao diện mờ của phông chữ WPF khi chúng nhỏ.WPF Anti aliasing workaround

Một khả năng sẽ là sử dụng thành phần .net 2.0. Điều này có vẻ như nó sẽ mất khả năng minh bạch và hỗ trợ Blend. Chưa bao giờ thử nó.

Bất kỳ ai có giải pháp cho điều này? Bất kỳ hạn chế nào từ nó?

Cảm ơn bạn

Trả lời

3

Bạn đã thử đặt điều khiển WindowsFormsHost trên cửa sổ/điều khiển WPF chưa? Điều đó sẽ cho phép WPF hiển thị một điều khiển WinForms.

CẬP NHẬT Tháng 11 năm 2012: Câu hỏi và câu trả lời này là 4 tuổi. Text rendering has since improved in WPF. Xin vui lòng không đặt điều khiển WinForms trong các ứng dụng WPF; đó là một cách hackish để sửa font rendering. Nó không còn cần thiết nữa.

+7

Câu trả lời này đã nói lên về tình trạng hiện tại của WPF. Hãy hy vọng nó cải thiện trong VS2010. ;) –

+0

wtf, đó là quá mức cần thiết – paIncrease

+1

Vâng, đúng vậy, nhưng câu hỏi này đã hơn 4 tuổi. Mọi thứ đã được cải thiện kể từ đó, đặc biệt là hiển thị phông chữ WPF: http://blogs.msdn.com/b/text/archive/2009/08/24/wpf-4-0-text-stack-improvements.aspx –

-3

Hãy thử sử dụng thuộc tính UIElement.SnapsToDevicePixels trên các yếu tố giao diện người dùng của cửa sổ của bạn. Mọi người có xu hướng báo cáo hoạt động tốt nhất cho graphics and lines, nhưng tôi cũng nhận thấy sự cải thiện về hiển thị văn bản với nó.

+1

Nếu được thực hiện so sánh trực tiếp giữa hai phần văn bản giống nhau và không thể tìm thấy bất kỳ sự khác biệt nào trong cài đặt SnapsToDevicePixel. Ngoài ra, đánh giá từ những lý do kỹ thuật đằng sau "blurriness" tôi không thể tưởng tượng như thế nào có thể giúp đỡ. –

1

SnapsToDevicePixels hoàn toàn không ảnh hưởng đến hiển thị văn bản.

0

Bù đắp các đối tượng bạn vẽ, mà bạn không muốn bị khử răng cưa, 0,5px. Điều này sẽ khiến công cụ vẽ vẽ trên pixel thực tế, thay vì vẽ trên cạnh pixel (là mặc định). Khi vẽ trên cạnh của việc chống răng cưa pixel thường xảy ra trên các pixel xung quanh.

Điều này tương tự như vẽ Quarts trên máy Mac.

Chỉnh sửa: Rất tiếc, tôi không đọc câu hỏi. Điều này không làm việc cho phông chữ, chỉ cho hình dạng. Tôi sẽ để lại bình luận ở đây để tham khảo, mặc dù.

1

Microsoft có một blog dành riêng cho văn bản vẽ trong WPF đây WPF Text Blog

Mọi thứ đã chắc chắn được cải thiện trong .NET 4.0.

9

Anti-Bí danh có thể được tắt bắt đầu WPF 4.0 với tùy chọn sau đây:

TextOptions.TextFormattingMode="Display" 
+1

Điều đó thực sự không phải là Chống bí danh bị tắt. Đây là một phiên bản khác biệt, rõ ràng hơn của thiết lập Anti-Aliasing. Tùy chọn bí danh là TextOptions.TextRenderingMode = "Aliased" –

Các vấn đề liên quan