<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    饒榮慶 -- 您今天UCWEB了嗎?--http://www.ucweb.com

    3G 手機開發網

       :: 首頁 :: 聯系 :: 聚合  :: 管理
      99 Posts :: 1 Stories :: 219 Comments :: 0 Trackbacks
    原文地址 http://javaeye.5d6d.com/thread-171-1-1.html

    j2me實現圖片透明效果

    透明效果的設計,是開發游戲以及UI的常談話題,小弟整理了下關于透明效果的嗲們,有興趣的朋友可以看看

    代碼
    /**
    *
    * @author Jagie
    *
    */
    public class ShadowMIDlet extends MIDlet {
    Canvas c = new ShadowCanvas();
    public ShadowMIDlet() {
    }
    protected void startApp() throws MIDletStateChangeException {
    Display.getDisplay(this).setCurrent(c);
    }
    protected void pauseApp() {
    // TODO Auto-generated method stub
    }
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
    // TODO Auto-generated method stub
    }
    }
    /**
    *
    * @author Jagie
    *
    */
    class ShadowCanvas extends Canvas implements Runnable {
    int w, h;
    // 原始圖片
    Image srcImage;
    // 原始圖片的像素數組
    int[] srcRgbImage;
    // 漸變圖片的像素數組
    int[] shadowRgbImage;
    int imgWidth, imgHeight;
    int count;
    public ShadowCanvas() {
    w = this.getWidth();
    h = this.getHeight();
    try {
    srcImage = Image.createImage("/av.png");
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    imgWidth = srcImage.getWidth();
    imgHeight = srcImage.getHeight();
    // 制造原始圖片的像素數組,用一個int來代表每一個像素,按位表示方式是:0xAARRGGBB
    srcRgbImage = new int[imgWidth * imgHeight];
    // 獲取原始圖片的所有像素,參見MIDP APPI文檔
    srcImage.getRGB(srcRgbImage, 0, imgWidth, 0, 0, imgWidth, imgHeight);
    shadowRgbImage = new int[srcRgbImage.length];
    System.arraycopy(srcRgbImage, 0, shadowRgbImage, 0,
    shadowRgbImage.length);
    // 漸變圖片的所有像素已開始都是全透明的
    for (int i = 0; i < shadowRgbImage.length; i++) {
    shadowRgbImage &= 0x00ffffff;
    }
    new Thread(this).start();
    }
    public void paint(Graphics g) {
    g.setColor(0, 0, 0);
    g.fillRect(0, 0, w, h);
    // 繪制漸變圖片
    g.drawRGB(shadowRgbImage, 0, imgWidth, (w - imgWidth) / 2,
    (h - imgHeight) / 2, imgWidth, imgHeight, true);
    g.setColor(0, 255, 0);
    g.drawString("count=" + count, w / 2, 30, Graphics.HCENTER
    | Graphics.TOP);
    }
    public void run() {
    while (true) {
    boolean changed = false;
    // 改變漸變圖片的每一個像素
    for (int i = 0; i < shadowRgbImage.length; i++) {
    // 獲取漸變圖片的某一像素的alpha值
    int alpha = (shadowRgbImage & 0xff000000) >>> 24;
    // 原始圖片的對應像素的alpha值
    int oldAlpha = (srcRgbImage & 0xff000000) >>> 24;
    if (alpha < oldAlpha) {
    // alpha值++
    shadowRgbImage = ((alpha + 1) << 24) | (shadowRgbImage & 0x00ffffff);
    changed = true;
    }
    }
    try {
    Thread.sleep(10);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    count++;
    repaint();
    // 當所有像素的alpha值都達到原始值后,線程運行結束
    if (!changed) {
    System.out.println("over");
    break;
    }
    }
    }
    }












    爬蟲工作室 -- 專業的手機軟件開發工作室
    3G視線 -- 專注手機軟件開發
    posted on 2007-08-24 16:41 3G工作室 閱讀(866) 評論(2)  編輯  收藏

    Feedback

    # re: j2me實現圖片透明效果 2007-10-24 23:23 sunday
    頂一下,十分感謝。  回復  更多評論
      

    # re: j2me實現圖片透明效果 2012-09-15 16:37
    能不能不抄襲啊 為什么網上全都是一樣的 就不能有一點創新嗎 你哪怕改個字也行啊 你是ctrl c 和 ctrl v 過來的吧  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲电影一区二区三区| 四虎永久免费地址在线网站| 国产成人无码综合亚洲日韩| 色爽黄1000部免费软件下载| 亚洲?v无码国产在丝袜线观看| 亚洲精品无播放器在线播放| 无码高潮少妇毛多水多水免费| 一区二区亚洲精品精华液| 1024免费福利永久观看网站| 亚洲国产成人久久| 最近中文字幕mv手机免费高清| 亚洲乱亚洲乱妇无码| 国产一级做a爱免费视频| 羞羞视频免费网站含羞草| 亚洲精品国产精品乱码不卡| 中文字幕视频免费在线观看| 久久夜色精品国产噜噜噜亚洲AV | 老司机精品视频免费| 亚洲XX00视频| 久久久久久噜噜精品免费直播| 亚洲国产成人片在线观看无码| 最近最新高清免费中文字幕| 亚洲www在线观看| 免费永久国产在线视频| 中文字幕不卡免费视频| 亚洲一区二区三区首页| 成人黄18免费视频| 亚洲黄片手机免费观看| 亚洲永久永久永久永久永久精品| 国产99视频精品免费观看7| 羞羞漫画在线成人漫画阅读免费| 国产偷国产偷亚洲清高动态图 | 久久这里只精品99re免费| 亚洲人成网站在线观看播放青青| 国产jizzjizz视频免费看| 中文字幕免费在线看电影大全| 亚洲成人网在线播放| 免费人成网站7777视频| 久久久高清日本道免费观看| 久久久久久久久无码精品亚洲日韩| 国产亚洲一区二区三区在线观看 |