2006年7月11日 星期二

[Java] 如何在程式開始執行的時候顯示會淡出的logo?

  這只是我自己的想法,還沒有作過實驗,如果拿一個JFrame上面放個panel然後再把圖貼上去,利用圖片的transparency效果來作應該不會成功,因為就算圖片淡出了也會留下JFrame在那邊,更顯得突兀。

  所以應該要這樣:

  1. 先利用java.awt.Robot的createScreenCapture() method,把整個螢幕拍下來存在BufferedImage裡面。

  2. 建立一個去掉標題列的JFrame(利用java.awt.Frame.setUndecorated(true);)大小就是和螢幕的解析度一樣大:
Dimension systemResolution=(Toolkit.getDefaultToolkit()).getScreenSize();
  frame.setSize((int)systemResolution.getWidth(),(int)systemResolution.getHeight());

  3. 把剛剛的螢幕畫面貼上去,然後再自己貼上想要的logo,也就是讓使用者看到一個畫面的假象,他以為看到的是他的畫面,其實只是我們自己畫給他看的。

  4. 然後利用貼上去的logo的transparency效果處理淡出。

  5. 淡出結束後把JFrame關掉,進入主程式。

  還沒作過實驗,不過我覺得應該會成功。


沒有留言: