J2ME:clip視窗可使用anchor--轉(轉)
J2ME:clip視窗可使用anchor--轉(轉)[@more@] /** * drawClip 畫一個圖片的一部分。clip視窗可使用anchor。 * * @param g * Graphics * @param x * int 要畫的位置x * @param y * int 要畫的位置y * @param image * Image 圖片 * @param clipX * int clip在圖片中的座標x * @param clipY * int clip在圖片中的座標y * @param clipWidth * int clip在圖片中的寬度 * @param clipHeight * int clip在圖片中的高度 * @param anchor * int 連結錨點 */ public static void drawClip(Graphics g, int x, int y, Image image, int clipX, int clipY, int clipWidth, int clipHeight, int anchor) { int[] old = { g.getClipX(), g.getClipY(), g.getClipWidth(), g.getClipHeight() }; //儲存原來的初始Clip大小和座標 int offsetX = 0, offsetY = 0; switch (anchor) { // 對各種的anchor的處理就是對Graphics.TOP|Graphics.LEFT的相對偏移 // 取各種情況下的相對於Graphics.TOP|Graphics.LEFT的X,Y偏移,最後 // 以Graphics.TOP|Graphics.LEFT的anchor畫出圖形 case Graphics.HCENTER | Graphics.TOP: offsetX = clipWidth / 2; break; case Graphics.RIGHT | Graphics.TOP: offsetX = clipWidth; break; case Graphics.LEFT | Graphics.VCENTER: offsetY = clipHeight / 2; break; case Graphics.HCENTER | Graphics.VCENTER: offsetX= clipWidth /2; offsetY = clipHeight / 2; break; case Graphics.RIGHT | Graphics.VCENTER: offsetX = clipWidth; offsetY = clipHeight /2; break; case Graphics.LEFT | Graphics.BOTTOM: offsetY = clipHeight; break; case Graphics.HCENTER | Graphics.BOTTOM: offsetX = clipWidth / 2; offsetY = clipHeight; break; case Graphics.RIGHT | Graphics.BOTTOM: offsetX = clipWidth; offsetY = clipHeight; break; } g.setClip(x - offsetX, y - offsetY, clipWidth, clipHeight); g.drawImage(image, x - clipX - offsetX, y - clipY - offsetY, Graphics.TOP | Graphics.LEFT); g.setClip(old[0], old[1], old[2], old[3]); //畫完後恢復CLIP大小位置 }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-951591/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用DLL檔案中封裝的視窗 (轉)封裝
- 在VB中使用API關閉視窗 (轉)API
- 工作列視窗以及其子視窗結構 (轉)
- JavaScript視窗功能指南之操縱視窗 (轉)JavaScript
- 子視窗控制元件(轉)控制元件
- Linux 文件與視窗(轉)Linux
- JavaScript視窗功能指南之命名視窗和框架 (轉)JavaScript框架
- JavaScript視窗功能指南之定製新視窗 (轉)JavaScript
- JavaScript視窗功能指南之發揮視窗特徵 (轉)JavaScript特徵
- JavaScript視窗功能指南之建立彈出視窗 (轉)JavaScript
- 非視窗類中使用定時器的方法 (轉)定時器
- 人工設定視窗圖示 (轉)
- Javascript自動關閉視窗(轉)JavaScript
- 非視窗類中使用定時器的方法(一) (轉)定時器
- JavaScript視窗功能指南之在視窗中書寫內容 (轉)JavaScript
- JavaScript視窗功能指南之檢查一個視窗是否存在 (轉)JavaScript
- 關於視窗的操作詳談 (轉)
- C#視窗事件處理初探 (轉)C#事件
- 核心技術:J2ME中RMS的使用解析(轉)
- C# winForm 視窗跳轉後關閉上一個視窗的方法C#ORM
- 視窗的無效區域 演示程式 (轉)
- 呼叫API函式設計ABOUT視窗 (轉)API函式
- C# 介面跳轉-登陸之後跳轉至主視窗C#
- Docker關聯使用的一些工具:Clip名字服務(轉載)Docker
- EasyNLP帶你玩轉CLIP圖文檢索
- 利用BCB編寫具有"磁性"特徵的視窗 (轉)特徵
- 用VC++實現不規則視窗 (轉)C++
- 同時最小化多個Windows視窗(轉)Windows
- 最佳化J2ME程式大小 (轉)
- Haier數字可視對講系列(轉)AI
- 視窗函式 (轉) rows between unbounded preceding and current row函式
- 零程式碼儲存視窗執行狀態 (轉)
- WIN98特殊視窗的動態拖動 (轉)
- [轉帖]J2ME學習札記1
- [轉帖]J2ME學習札記2
- [轉帖]J2ME學習札記3
- 最佳化J2ME應用程式 (轉)
- J2ME中建立Splash啟動介面 (轉)