Hiện tại do đang không thể lấy đc item dạng shape trên WPF app nên mình đang làm theo cách là dựa trên tọa độ của item để GetPixel màu tại vị trí đó thì đang gặp vấn đề là cái tọa độ mình set khi design WPF app và tọa độ của item trên app có lẽ đang khác nhau nên không lấy chính xác được màu tại vị trí cần lấy. Mình có tìm hiểu sơ qua thì WPF app lúc chạy nó sẽ có tỉ lệ scale dựa trên screen solution của mình và đơn vị trong lúc design WPF app đang là DIU(Device Independent Units) Mình cũng đã thử các kiểu để tính ra cái tỉ lệ scale sau đó tính lại left, top của các item nhưng vẫn chưa ra được. Bên team đã gặp case này chưa và có phương án nào để suggest không ạ.
WPF App là do bên bạn tự phát triển hay là của đơn vị khác ?
Nếu là của bạn tự phát triển thì cần cutomize lại shape theo hướng dẫn dưới
Trường hợp các shape như circle , rectangle bị seal , không customize được thì đơn giản là tạo 1 user controlcó support automation ( như ví dụ trên ) rồi lấy cái control ấy wrap các shape là được.
Nếu app là của đơn vị khác phát triển thì hiện mình chưa thấy có cách nào hỗ trợ được từ các thư viện automation nên cần nghiên cứu thêm các giải pháp khác hoặc chia nhỏ requirement ra để tìm cách work arround.
Nếu các thư viện tiêu chuẩn chưa hỗ trợ thì bạn có thể dùng các cách như Hook vào các thư viện drawing 2D, 3D, GDI để lấy thông tin từ app. Studio dùng kỹ thuật này để tách các text trong các app cổ điển .