2013-02-13 122 views
-1

我需要一些幫助,這個問題真的讓我很頭疼。這是一個應用程序,允許用戶加載圖像文件,然後將圖像順時針或逆時針旋轉90度。代碼工作正常,但是,如果用戶順時針旋轉圖像,然後決定通過逆時針將其旋轉回初始位置,則圖像不是應該在的位置。我不確定我錯過了什麼,因爲我對c#很陌生。以下是我用於順時針旋轉的代碼。c#圖像旋轉

private int cW = 0; 
private void button6_Click(object sender, RoutedEventArgs e) 
{ 
    RotateTransform rotateTransform = new RotateTransform(); 
    rotateTransform.CenterX = image1.ActualWidth/2.0; 
    rotateTransform.CenterY = image1.ActualHeight/2.0; 
    cW += 90; 

    rotateTransform.Angle = cW; 

    TransformGroup transformGroup = new TransformGroup(); 
    transformGroup.Children.Add(rotateTransform); 

    image1.RenderTransform = transformGroup; 
} 

我已經完全改變了使用if/else語句的代碼。以下給出了我正在尋找的結果。

RotateTransform cwRotateTransform; 
private void button6_Click(object sender, RoutedEventArgs e) 
{ 
    if (cwRotateTransform == null) 
    { 
     cwRotateTransform = new RotateTransform(); 
    } 

    image1.LayoutTransform = cwRotateTransform; 

    if (cwRotateTransform.Angle == 360) 
     cwRotateTransform.Angle = 0; 

    else cwRotateTransform.Angle += 90; 
} 

對於逆時針簡單地改變 「90」 至 「-90」 的其他cwRotateTransform.Angle

+0

'...圖像不是它應該be.'這是什麼意思?圖像在哪裏? – 2013-02-13 18:05:43

+0

圖像需要在哪裏?感謝您的幫助 – user2029074 2013-02-13 18:13:22

+0

你在說什麼? – 2013-02-13 18:16:39

回答

0

這使用一個PictureBox和使用位圖工作正常,我rotateflip:

Bitmap bitmapPicturebox1; 

private void Form1_Load(object sender, EventArgs e) 
{ 
    pictureBox1.ImageLocation = @"C:\Wallpaper.jpg"; 
} 
private void btnLeft_Click(object sender, EventArgs e) 
{ 
    bitmapPicturebox1 = new Bitmap(pictureBox1.Image); 
    bitmapPicturebox1.RotateFlip(RotateFlipType.Rotate90FlipNone); 
    pictureBox1.Image = bitmapPicturebox1; 
} 

private void btnRight_Click(object sender, EventArgs e) 
{ 
    bitmapPicturebox1 = new Bitmap(pictureBox1.Image); 
    bitmapPicturebox1.RotateFlip(RotateFlipType.Rotate270FlipNone); 
    pictureBox1.Image = bitmapPicturebox1; 
} 
+0

我沒有問題得到此代碼與Windows窗體的工作。它不應該與WPF(這正是我正在使用的)一起工作嗎? – user2029074 2013-02-13 18:42:36

+0

@ user2029074現在只需一秒鐘。 – 2013-02-13 18:49:36

+0

這個網站應該幫我解決我的問題。 http://www.c-sharpcorner.com/uploadfile/mahesh/image-transformation-in-wpf/ – user2029074 2013-02-13 19:04:54