您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“J2ME中clip窗口可使用anchor怎么實現”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“J2ME中clip窗口可使用anchor怎么實現”這篇文章吧。
/** * 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大小位置 }
以上是“J2ME中clip窗口可使用anchor怎么實現”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。