[英]Image parameters for setting cursor in Java Swing
我在Java Swing應用程序中顯示自定義光標時遇到麻煩。
我通過以下代碼設置光標:
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image image = toolkit.getImage("sword.png");
Point hotSpot = new Point(0,0);
Cursor cursor = toolkit.createCustomCursor(image, hotSpot, "Sword");
panel.setCursor(cursor);
該圖像(大小:32x32px)正確顯示為安靜(僅橡膠顏色從灰色變為黃色):
但是此圖像(大小:128x128)顯示不正確-小於128x128(可能是64x64)並且沒有某些顏色:
當我在Linux Ubuntu上運行應用程序時發生了這種情況。
當我在Windows上運行該應用程序(在Win 8上經過測試)時,鉛筆圖像顯示沒有任何問題,劍圖像的顏色略有失真。 它們的大小都相同(32x32)。
我的問題是-用於設置光標的圖像應具有哪些參數(大小,類型,質量,顏色數量),以及它是否取決於Java Swing或特定的OS? 如果我應該以其他方式設置光標,因為我的代碼不正確。
問題是大多數操作系統都希望使用32x32的尺寸,如果更大,它將嘗試將其調整為正確的尺寸,因此可能會出現顯示不正確的情況。 因此,您可以假設正確的尺寸應為32x32。
您可以使用:
getBestCursorSize(int preferredWidth, int preferredHeight)
它返回所需大小的最接近的受支持光標尺寸。 看一下API => http://docs.oracle.com/javase/7/docs/api/java/awt/Toolkit.html#getBestCursorSize%28int,%20int%2
作為一個好的和安全的解決方案,您應該使用Photoshop,GIMP或其他好的程序將圖像調整為支持的尺寸。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.