diff --git a/desktop_env/evaluators/metrics/slides.py b/desktop_env/evaluators/metrics/slides.py index f398045..4fa0cb2 100644 --- a/desktop_env/evaluators/metrics/slides.py +++ b/desktop_env/evaluators/metrics/slides.py @@ -250,6 +250,14 @@ def evaluate_presentation_fill_to_rgb_distance(pptx_file, rules): r1, g1, b1 = fill.fore_color.rgb r2, g2, b2 = _rgb return sqrt((r1 - r2) ** 2 + (g1 - g2) ** 2 + (b1 - b2) ** 2) / sqrt(255 ** 2 + 255 ** 2 + 255 ** 2) + elif fill.type == 5: + master_fill = _slide.slide_layout.slide_master.background.fill + if master_fill.type == 1: + r1, g1, b1 = master_fill.fore_color.rgb + else: + return 1 + r2, g2, b2 = _rgb + return sqrt((r1 - r2) ** 2 + (g1 - g2) ** 2 + (b1 - b2) ** 2) / sqrt(255 ** 2 + 255 ** 2 + 255 ** 2) return 1 @@ -363,3 +371,6 @@ def check_page_number_colors(pptx_file, rules): return 0 return 1 + +if __name__ == '__main__': + print(evaluate_presentation_fill_to_rgb_distance(r"C:\Users\tianbaox\Desktop\DesktopEnv\cache\3b27600c-3668-4abd-8f84-7bcdebbccbdb\lec17-gui-events.pptx", {"rgb": (0, 0, 255)})) \ No newline at end of file