RotateFlipType неправильные значения при использовании в настройках - PullRequest
1 голос
/ 31 мая 2010

Я пытаюсь использовать System.Drawing.RotateFlipType в моем файле настроек. Этот скриншот обобщает мою проблему:

альтернативный текст http://l -2.incito.hr / rotatefliptype.png

Каждое из значений RotateFlipType удваивается, а некоторые отсутствуют. Если я пытаюсь использовать некоторые из пропущенных значений (например, Rotate180FlipX, через app.config) - это просто игнорируется.

Использование VS2008 с SP1, vb.net с фреймворком 3.5 на Windows 7.

1 Ответ

3 голосов
/ 01 июня 2010
// Summary:
//     Specifies the direction of an image's rotation and the axis used to flip
//     the image.
public enum RotateFlipType
{
    // Summary:
    //     Specifies a 180-degree rotation followed by a horizontal and vertical flip.
    Rotate180FlipXY = 0,
    //
    // Summary:
    //     Specifies no rotation and no flipping.
    RotateNoneFlipNone = 0,
    //
    // Summary:
    //     Specifies a 270-degree rotation followed by a horizontal and vertical flip.
    Rotate270FlipXY = 1,
    //
    // Summary:
    //     Specifies a 90-degree rotation without flipping.
    Rotate90FlipNone = 1,
    //
    // Summary:
    //     Specifies a 180-degree rotation without flipping.
    Rotate180FlipNone = 2,
    //
    // Summary:
    //     Specifies no rotation followed by a horizontal and vertical flip.
    RotateNoneFlipXY = 2,
    //
    // Summary:
    //     Specifies a 270-degree rotation without flipping.
    Rotate270FlipNone = 3,
    //
    // Summary:
    //     Specifies a 90-degree rotation followed by a horizontal and vertical flip.
    Rotate90FlipXY = 3,
    //
    // Summary:
    //     Specifies a 180-degree rotation followed by a vertical flip.
    Rotate180FlipY = 4,
    //
    // Summary:
    //     Specifies no rotation followed by a horizontal flip.
    RotateNoneFlipX = 4,
    //
    // Summary:
    //     Specifies a 90-degree rotation followed by a horizontal flip.
    Rotate90FlipX = 5,
    //
    // Summary:
    //     Specifies a 270-degree rotation followed by a vertical flip.
    Rotate270FlipY = 5,
    //
    // Summary:
    //     Specifies no rotation followed by a vertical flip.
    RotateNoneFlipY = 6,
    //
    // Summary:
    //     Specifies a 180-degree rotation followed by a horizontal flip.
    Rotate180FlipX = 6,
    //
    // Summary:
    //     Specifies a 90-degree rotation followed by a vertical flip.
    Rotate90FlipY = 7,
    //
    // Summary:
    //     Specifies a 270-degree rotation followed by a horizontal flip.
    Rotate270FlipX = 7,
}

Возьмите бумагу и попробуйте перевернуть и повернуть ее, и вы увидите, что дублирующиеся значения действительно дублируются, т.е. они представляют одну и ту же трансформацию. Конвертер enum, очевидно, идет от 0 до 7, ищет строку enum и получает FIRST за вас.

...