@startuml dz-a1-contrast-activity title ДЗ.А1 — алгоритм ApplyContrast (по палитре документа) start :Вход: **MinintDocument doc**, **double factor**; :i ← 1; while (i < doc.Palette.Count?) is (да) :c <- doc.Palette[i]; :doc.Palette[i] <- новый RgbaColor\n(ContrastByte для R,G,B, c.A); :i <- i + 1; endwhile (нет) :doc.InvalidatePaletteCache(); floating note left **ContrastByte(x, factor):** v = ((x/255) - 0.5) * factor + 0.5 return Clamp( round(v * 255), 0, 255 ) -- Индекс палитры 0 не меняется. end note stop @enduml