我有一個位圖,我需要在C#中旋轉任意數量的度數。我需要結果是一個位圖。我在StackOverflow上看到了一些部分解決這個問題的問題。這些問題的結果是在System.Drawing.Graphics對象中繪製並顯示在屏幕上的旋轉圖像。這不是我需要的。我需要將圖像旋轉並放入位圖對象中。如何在C#中旋轉位圖,並最終得到位圖?
我看不到任何方法System.Drawing.Graphics拉出底層位圖。
有沒有另一種方法可以解決這個問題?我也需要至少雙線性插值。
我有一個位圖,我需要在C#中旋轉任意數量的度數。我需要結果是一個位圖。我在StackOverflow上看到了一些部分解決這個問題的問題。這些問題的結果是在System.Drawing.Graphics對象中繪製並顯示在屏幕上的旋轉圖像。這不是我需要的。我需要將圖像旋轉並放入位圖對象中。如何在C#中旋轉位圖,並最終得到位圖?
我看不到任何方法System.Drawing.Graphics拉出底層位圖。
有沒有另一種方法可以解決這個問題?我也需要至少雙線性插值。
您可以使用相同的步驟,但不是將圖形對象鏈接到顯示器,而是將其鏈接到新的位圖對象。
Bitmap rotated = new Bitmap(<dimensions>)
using(Graphics g = Graphics.FromImage(rotated))
{
// Code to draw the rotated image to g goes here
}
當你完成後,一定要處置'位圖'。 – 2012-03-15 15:35:14
C#的新手,對於這個愚蠢的問題感到抱歉。底層的「旋轉」圖像然後由g.drawImageUnscaled修改?圖形正確地處理圖像放置在圖形對象上的情況:很酷。謝謝。 – John 2012-03-15 15:39:30
只是在心裏說: http://dotnet-snippets.com/dns/image-rotation-by-angle-SID600.aspx
您需要修改上面的代碼,以得到確切的邊界:
您可以使用圖像旋轉,如存在使用一些用sin/cos/tan簡單計算,你會發現正確的
希望它有效:)
反過來,從一個新創建的位圖創建一個圖形對象。 – 2012-03-15 15:31:37
我在3秒內發現了這個:http://stackoverflow.com/questions/2225363/c-sharp-rotate-bitmap-90-degrees – 2012-03-15 15:49:20