還記得小時候, 最想做的就是讓圖形放大縮小. 在 java 裡面 Graphic2D 會幫你做得很好.
最討厭的是讓 java 正確地管理元件, 要怎樣才會讓影像元件服服貼貼的聽話站好?
最常發生的情況就是改了元件內容或大小, 可是畫面卻不會改變.
這個狀況主要的發生原因在於, 你可能沒有提供 LayoutManager 正確的資訊.
下面的範例會把一個影像檔載入, 然後放大. (不好意思, 臨時找不到模特兒)
通知 LayoutManager 元件大小關鍵片段:
// 重新設定元件的大小
this.setSize(this.Width,this.Height); // 設定元件新的大小
// [提供 Layout Manager 的資訊]
setPreferredSize(new Dimension(Width,Height)); // 提供 Layout Manager, 這個元件的預設大小
setMinimumSize(new Dimension(Width,Height)); // 最小不能低於 MinimumSize
// 立即根據新元件大小改變, 重新計算所有元件的大小
m_ShowFrame.pack();
一個簡單的 scale 範例:
希望對你有幫助. by Jing
延伸閱讀
[1] 影像處理使用 Java
[2] 影像處理使用 C#
[3] 讀取 GIF,JPEG,TIFF,BMP,PNM,PNG 格式影像範例 [Java]
[4] 使用 JAI 旋轉圖形
[5] 使用 Java 2D 旋轉圖形
沒有留言:
張貼留言