Điều này đã gây tò mò cho tôi khá lâu.
Có ai biết thuật toán Windows 7 Aero sử dụng để xác định màu sắc sẽ sử dụng làm điểm nhấn di chuột theo dõi nóng trên các nút trên thanh tác vụ cho các ứng dụng hiện đang chạy không?
Nó chắc chắn dựa trên biểu tượng của ứng dụng, nhưng tôi không thể thấy một mẫu cụ thể nơi nó nhận được giá trị màu từ đó.
Nó dường như không phải là một trong những điều sau đây:
- Một giá trị màu trung bình từ toàn bộ biểu tượng, nếu không bạn sẽ nhận được nâu
tất cả các thời gianvới các biểu tượng đa màu như Chrome. - Màu được sử dụng nhiều nhất trong hình ảnh, nếu không, bạn sẽ có màu vàng cho biểu tượng SQL Server Management Studio (thứ 6 từ trái sang). Ngoài ra, biểu tượng Chrome đã sử dụng màu đỏ, xanh lá cây và vàng theo số đo bằng nhau.
- Một màu nằm ở tọa độ pixel nhất định trong biểu tượng, bởi vì Chrome có màu đỏ - biểu thị phần trên cùng của biểu tượng - và Notepad ++ (thứ 2 từ phải sang) có màu xanh lục - biểu thị phần dưới của biểu tượng.
Tôi đã hỏi câu hỏi này trên ux.stackoverflow.com và nó đã bị đóng ngoài chủ đề, nhưng ai đó đã trả lời như sau:
Theo mô tả của Raymond Chen trong bài viết trên blog MSDN này :
Một số người hỏi làm thế nào nó được thực hiện. Nó thực sự không có gì đặc biệt. Mã chỉ tìm màu chủ đạo trong biểu tượng. (Và, vì các nhà thiết kế hình ảnh là người gắn bó với loại vật này, màu đen, trắng và sắc thái của màu xám không được coi là "màu sắc" cho mục đích tính toán này.)
Tuy nhiên tôi không thực sự hài lòng với câu trả lời đó vì nó không giải thích cách tính màu "chiếm ưu thế". Chắc chắn trên biểu tượng SQL Management Studio, màu chủ đạo, ít nhất là trong mắt tôi, là màu vàng. Tuy nhiên, điểm nổi bật là màu xanh lá cây. Tôi muốn biết, cụ thể, thuật toán là gì.
An average colour value from the entire icon, otherwise you would get brown all the time.
Điều đó không có ý nghĩa. Ví dụ, làm thế nào sẽ là Skype , nhắc lệnh , hoặc μTorrent biểu tượng trung bình ra màu nâu? ಠ_ ఠ (Lần cuối cùng tôi thiết kế ngược một trong các thuật toán tính toán màu của Windows, phải mất vài năm để chú ý và rất nhiều loại công việc khác nhau để tìm ra nó. Có vẻ như tôi cuối cùng đã hack nó một lúc nào đó.)