s1091703 作業1

主題: 圖像旋轉 (Image Rotation) 

-----------------------------------------------------------------------------------

開發環境:Windows10 + Visual Studio 2022 + C#

程式功能:

->a:移動trackbar整張圖會根據移動的數據旋轉

->b:移動trackbar內切圓的部分會根據移動的數據旋轉

->沒選擇:移動trackbar沒用(只有在程式開始未選擇的情況下才
可觸發)


圖片展現:


未選擇) 

a)            

b)           


程式說明:

利用Rectangle來設置切圓的位置(起始x,起始y,範圍x,範圍y)。
picturebox(放圖的地方)的邊長/2-範圍的變長/2=圖片中心x軸-半徑
因為是內切圓,且高度低於寬度,所以範圍皆選擇高度(y),若想套用在各種圖片上,改使用Math.Min判斷兩邊的大小即可。
FillEllipse:依給予的範圍將圖片以圓形的方式呈現。
TextureBrush:用照片填充圖形。



旋轉時的點是固定,所以須先將圖片的中心移動,再將圖片移動回去才會形成以中心旋轉的畫面。


若無添加:


補充:有成功切割為圓形,但移動的軌道是"劃出"一個圓,看似切割失敗是因為背景是用原圖填滿。而擇a時,是使用 graphics.Clear(Color.Black),來處理背景(用黑色填滿)。


影片實測:



留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1081444 Homework #7