Я неоднократно обнаруживал, что хочу иметь дело с RotateFlipType более модульным способом.
Например, в любой момент времени я хочу сохранить одно перечисление RotateFlipType, предоставляя пользователю доступ к кнопкам, позволяющим переворачивать и поворачивать один щелчок за раз. Мне нужно сохранить это позже, когда мне нужно применить RotateFlipType к данным.
Так что в основном мне нужно хранить все отдельно для нескольких переменных. Или мне нужна логика, такая как:
private RotateFlipType ApplyHorizontalFlip(RotateFlipType oldFlip)
{
switch (oldFlip)
{
case RotateFlipType.Rotate180FlipNone:
return RotateFlipType.RotateNoneFlipNone;
case RotateFlipType.Rotate180FlipX:
return RotateFlipType.RotateNoneFlipX;
case RotateFlipType.Rotate180FlipXY:
return RotateFlipType.RotateNoneFlipXY;
case RotateFlipType.Rotate180FlipY:
return RotateFlipType.RotateNoneFlipY;
case RotateFlipType.Rotate270FlipNone:
return RotateFlipType.Rotate90FlipNone;
// etc...
}
}
Есть ли какие-нибудь вспомогательные методы, встроенные в фреймворк, или о которых кто-нибудь знает? В основном, чтобы взять любой существующий RotateFlipType и изменить его, поворачивая или переворачивая, чтобы дать новое значение.