diff --git a/README.md b/README.md index 6be27d1..7879610 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,22 @@ Die Modelle müssen mit den Informationen gefüllt werden. Ein nicht geändertes Die Werte sind immer reelle Zahlen von '0.0' bis '1.0'. Dadurch sind die Modele vom eigentlichen Einsatz unabhängig. Die Klassen haben keinen Alphakanal. +### Natürliche Modelle + +Die Modelle werden auch in der 'natürlichen' Darstellung bereitgestellt. + +#### CyanMagentaYellowKey + +Alle Werte werden in der Prozent-Schreibweise zur Verfügung gestellt. + +#### HueSaturationValue + +*Hue* wird als Gradzahl und die anderen Werte als Prozent-Schreibweise zur Verfügung gestellt. + +#### RedGreenBlue + +Die Werte werden als Hexadecimal Zahlen und in der Webschreibweise zur Verfügung gestellt. + ## Hinweise zu den Transformer-Klassen Das Vorgehen der Umwandlung nimmt die Informationen von diff --git a/resources/uml/Klassen-Aufbau.puml b/resources/uml/Klassen-Aufbau.puml new file mode 100644 index 0000000..1884d7a --- /dev/null +++ b/resources/uml/Klassen-Aufbau.puml @@ -0,0 +1,58 @@ +@startuml +'https://plantuml.com/class-diagram + +namespace NaturallyColorModels { + class CyanMagentaYellowKey + class HueSaturationValue + class RedGreenBlue +} + +namespace ColorModels { + abstract AbstractColorModel + class CyanMagentaYellowKey + class HueSaturationValue + class RedGreenBlue + CyanMagentaYellowKey --|> AbstractColorModel + HueSaturationValue --|> AbstractColorModel + RedGreenBlue --|> AbstractColorModel +} +NaturallyColorModels.CyanMagentaYellowKey o-- ColorModels.CyanMagentaYellowKey +NaturallyColorModels.HueSaturationValue o-- ColorModels.HueSaturationValue +NaturallyColorModels.RedGreenBlue o-- ColorModels.RedGreenBlue + + +namespace Transformer { + interface ColorModelTransformInterface { + + toRedGreenBlue(): RedGreenBlue; + + toCyanMagentaYellowKey(): CyanMagentaYellowKey; + + toHueSaturationValue(): HueSaturationValue; + } + class CyanMagentaYellowKeyTransformer + class HueSaturationValueTransformer + class RedGreenBlueTransformer + ColorModelTransformInterface <|-- CyanMagentaYellowKeyTransformer + ColorModelTransformInterface <|-- HueSaturationValueTransformer + ColorModelTransformInterface <|-- RedGreenBlueTransformer + namespace Utilities { + abstract AbstractHueSaturationValueToUtility + class CyanMagentaYellowKeyToHueSaturationValue + class HueSaturationValueToCyanMagentaYellowKey + class HueSaturationValueToRedGreenBlue + class RedGreenBlueToHueSaturationValue + Transformer.Utilities.CyanMagentaYellowKeyToHueSaturationValue --|> Transformer.Utilities.AbstractHueSaturationValueToUtility + Transformer.Utilities.HueSaturationValueToCyanMagentaYellowKey --|> Transformer.Utilities.AbstractHueSaturationValueToUtility + Transformer.Utilities.HueSaturationValueToRedGreenBlue --|> Transformer.Utilities.AbstractHueSaturationValueToUtility + Transformer.Utilities.RedGreenBlueToHueSaturationValue --|> Transformer.Utilities.AbstractHueSaturationValueToUtility + } + CyanMagentaYellowKeyTransformer o-- Transformer.Utilities.CyanMagentaYellowKeyToHueSaturationValue + CyanMagentaYellowKeyTransformer o-- Transformer.Utilities.HueSaturationValueToRedGreenBlue + + HueSaturationValueTransformer o-- Transformer.Utilities.HueSaturationValueToRedGreenBlue + HueSaturationValueTransformer o-- Transformer.Utilities.HueSaturationValueToCyanMagentaYellowKey + + RedGreenBlueTransformer o-- Transformer.Utilities.RedGreenBlueToHueSaturationValue + RedGreenBlueTransformer o-- Transformer.Utilities.HueSaturationValueToCyanMagentaYellowKey +} +ColorModels.AbstractColorModel --o Transformer.ColorModelTransformInterface + +@enduml \ No newline at end of file