1

設定ファイルで System.Drawing.RotateFlipType を使用しようとしています。このスクリーンショットは私の問題を要約しています:

代替テキスト http://l-2.incito.hr/rotatefliptype.png

RotateFlipType の各値が 2 倍になり、一部が欠落しています。欠落している値 (Rotate180FlipX など、app.config 経由) を使用しようとすると、単純に無視されます。

SP1でVS2008を使用し、Windows 7でフレームワーク3.5でvb.netを使用します。

4

1 に答える 1

3
// 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を取得します。

于 2010-05-31T20:28:03.530 に答える