Диаграммы

This commit is contained in:
2026-04-10 02:21:47 +03:00
parent 8580dbc199
commit 72db2c0a47
12 changed files with 252 additions and 12 deletions

View File

@@ -0,0 +1,40 @@
@startuml dz-a1-image-effects-classes
title ДЗ.А1 — сервис эффектов палитры (контраст, оттенки серого)
skinparam classAttributeIconSize 0
skinparam shadowing false
package "Minint.Core.Services" {
interface IImageEffectsService {
+ ApplyContrast(doc : MinintDocument, factor : double) : void
+ ApplyGrayscale(doc : MinintDocument) : void
}
}
package "Minint.Core.Services.Impl" {
class ImageEffectsService {
+ ApplyContrast(doc : MinintDocument, factor : double) : void
+ ApplyGrayscale(doc : MinintDocument) : void
--
{static} - ContrastByte(value : byte, factor : double) : byte
}
}
package "Minint.Core.Models" <<Frame>> {
class MinintDocument {
+ Palette : List~RgbaColor~
+ InvalidatePaletteCache() : void
}
}
IImageEffectsService <|.. ImageEffectsService : реализует
ImageEffectsService ..> MinintDocument : изменяет Palette[i],\ni = 1..Count-1
ImageEffectsService ..> MinintDocument : InvalidatePaletteCache()
note bottom of ImageEffectsService
Индекс **0** палитры (прозрачный) не меняется.
Контраст: **factor** 0 → серое, 1 → без изменений, >1 → выше контраст.
Grayscale: яркость **0,299·R + 0,587·G + 0,114·B** (округление к byte).
end note
@enduml