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

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

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

    Do you drink java?



          像寫情書一樣coding

     

    [Download] Java 2D API 程序員指南

    Programmer's Guide to the JavaTM 2D API 中文版

    http://www.tkk7.com/Files/leon/Java2DAPI程序員指南.rar

    posted @ 2005-09-13 17:09 leon 閱讀(2307) | 評論 (5)編輯 收藏

    [Image] 使用Jimi輸出PICT格式圖像的一處BUG及解決辦法

    使用sun提供的圖像管理工具包 Jimi1_0 版本,保存PICT文件格式時輸出的圖像寬、高和內存中的圖像源一致,可是顯示出來卻是純白的。這是 Jimi1_0 版本對寫Pict格式的一處 BUG,下載了新的補訂類PICTWriter.java?重新編譯成PICTWriter.class加入 JimiProClasses.zip 中覆蓋原有的 PICTWriter.class,遂寫 PICT 格式成功。


    參考:http://amug.org/~glguerin/other/index.html#PICTWriter
    提醒:編譯 PICTWriter.java 時需要兼容JDK以前的版本。

    posted @ 2005-07-21 12:28 leon 閱讀(1288) | 評論 (1)編輯 收藏

    AWT中圖像的異步加載和等待圖像的完全加載

    圖像的異步加載

    圖像的加載和顯示是異步進行的,圖像 的生產者(ImageProducer)傳遞給圖像的消費者(ImageConsumer)一個與圖像相關的位,因為圖像的生產過程是一個異步行為,所以 AWT 也提供一個圖像觀察(ImageObserver),用來監視圖像生產者的圖像生產過程。

    因為 java.awt.Component 實現 ImageObserver 接口,所以 AWT 中每個構件都是ImageObserver ,當一個給定的 ImageProducer 采取異步操作時,這個 ImageObserver 可以選擇是否被更新。

    現在看一個例子:

    import?java.net.URL;
    import?java.applet.Applet;
    import?java.awt.Graphics;
    import?java.awt.Image;

    public?class?ImageTestAppletSimple2
    ????
    extends?Applet?{
    ??
    private?Image?im;

    ??
    public?void?init()?{
    ????im?
    =?getImage(getCodeBase(),?"lena.jpg");
    ??}

    ??
    public?void?paint(Graphics?g)?{
    ????System.out.println(
    "drawing?image");
    ????System.out.println(g.drawImage(im,?
    0,?0,?this));
    ??}
    }

    當這個 Applet 第一次被調用時,將打印出下面的結果:
    drawing?image...
    false
    drawing?image...
    false
    drawing?image...
    false
    drawing?image...
    true

    執 行結果說明 drawImage() 在第一次被調用時,沒有圖像被加載,drawImage() 只是向和圖像相關的 ImageProducer 注冊 ImageObserver,圖像被完全加載前 drawImage() 方法返回 false 直到圖像被完全加載返回 true。

    當 drawImage() 返回之后,只要有圖像的新的部分被加載,ImageObserver 中的 imageUpdate() 方法就會被調用。當 ImageObserver 是 AWT 構件時,Component.imageUpdate() 調用 repaint() 方法清除構件背景并調用 paint() 方法重繪剛剛得到的圖像位。重復循環,ImageProducer 加載圖像的下一塊,調用 ImageObserver 的 imageUpdate()。當圖像被完全加載時,ImageProducer 停止調用 ImageObserver 的 imageUpdate(),循環中斷。

    load -> imageUpdate() -> repaint() -> update() -> paint()


    等待圖像的完全加載

    上面的例子介紹了圖像的異步加載,現在介紹2個方法使圖像完全加載前不顯示。

    ·重載 ImageObserver 中的 imageUpdate() 方法,使其在圖像完全加載前不調用 repaint()。


    import ?java.applet.Applet;
    import ?java.awt.Graphics;
    import ?java.awt.Image;

    public ? class ?ImageTestAppletWithUpdate
    ????
    extends ?Applet?{
    ??
    private ?Image?im;

    ??
    public ? void ?init()?{
    ????im?
    = ?getImage(getCodeBase(),? " lena.jpg " );
    ??}

    ??
    public ? void ?paint(Graphics?g)?{
    ????g.drawImage(im,?
    0 ,? 0 ,? this );
    ??}

    ??
    public ? boolean ?imageUpdate(Image?image,? int ?flags,? int ?x,? int ?y,? int ?w,? int ?h)?{
    ????System.out.println(
    " imageUpdate():x= " ? + ?x? + ? " ,y= " ? + ?y? + ? " ,w= " ? + ?w? + ? " ,h= " ? +
    ???????????????????????h);

    ????
    if ?(?(flags? & ?ALLBITS)? == ? 0 )?{
    ??????
    return ? true ;? // ?need?more?updates
    ????}
    ????
    else ?{
    ??????repaint();
    ??????
    return ? false ;? // ?image?is?fully?loaded
    ????}
    ??}
    }

    使用 java.awt.MediaTracker 類跟蹤圖像的加載,不必重載 imageUpdate() 方法。


    import ?java.net.URL;
    import ?java.applet.Applet;
    import ?java.awt.Graphics;
    import ?java.awt.Image;
    import ?java.awt.MediaTracker;

    public ? class ?ImageTestAppletWithMediaTracker
    ????
    extends ?Applet?{
    ??
    private ?Image?im;

    ??
    public ? void ?init()?{
    ????im?
    = ?getImage(getCodeBase(),? " lena.jpg " );

    ????MediaTracker?tracker?
    = ? new ?MediaTracker( this );
    ????tracker.addImage(im,?
    0 );
    ????
    try ?{
    ??????tracker.waitForID(
    0 );
    ????}
    ????
    catch ?(InterruptedException?e)?{
    ??????e.printStackTrace();
    ????}

    ????System.out.print(
    " Image?width?=? " ? + ?im.getWidth( this ));
    ????System.out.println(
    " height?=? " ? + ?im.getHeight( this ));
    ??}

    ??
    public ? void ?paint(Graphics?g)?{
    ????g.drawImage(im,?
    0 ,? 0 ,? this );
    ??}
    }

    我們可以把使用 java.awt.MediaTracker 類將圖像完全加載的方法包裝成一個實用方法

    /** ? *//**
    ???*?使用?java.awt.MediaTracker?將圖像完全加載。
    ???*?
    @param ?component?Component
    ???*?
    @param ?img?Image
    ???
    */
    ??
    public ? static ? void ?waitForImage(Component?component,?Image?img)?{
    ????MediaTracker?tracker?
    = ? new ?MediaTracker(component);
    ????
    try ?{
    ??????tracker.addImage(img,?
    0 );
    ??????tracker.waitForID(
    0 );
    ????}
    ????
    catch ?(InterruptedException?ex)?{
    ??????ex.printStackTrace();
    ????}
    ??}

    posted @ 2005-07-12 10:33 leon 閱讀(1386) | 評論 (0)編輯 收藏

    AWT中加載和顯示圖像的方法

    正文
    http://www.tkk7.com/leon/articles/7494.html

    posted @ 2005-07-12 10:31 leon 閱讀(3081) | 評論 (6)編輯 收藏

    僅列出標題
    共5頁: 上一頁 1 2 3 4 5 

    導航

    統計

    公告

    DSC_0106.jpg
    本博客已經搬家到CSDN
    http://blog.csdn.net/chenweionline




    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    About Technology

    My Favorite Website

    搜索

    積分與排名

    最新評論

    • 1.?re: 胃痙攣
    • 兄弟們你們都做胃鏡了嗎開的啥藥?有什么養胃秘方啊?請賜教啊!
    • --我也進來了
    • 2.?re: 胃痙攣
    • @痛啊
      我感覺比生孩子還疼,生孩子還能有意識呢!這種疼還叫不出來連說話的力氣都沒了
    • --我也進來了
    • 3.?re: 胃痙攣
    • 評論內容較長,點擊標題查看
    • --我也進來了
    • 4.?re: 胃痙攣
    • 我都周期性的發作,算來有4年了 。每年最少一次,一次最少2天。吃了好多藥就差沒去做胃鏡了。 剛剛發作就隨便煮了點姜湯喝下就好了些,不知道還會不會發作了。
    • --許家洛
    • 5.?re: 胃痙攣
    • 我昨晚也疼的要死。。上次疼的直接120送醫院了,一上120我竟然就不疼了,醫院里掉了瓶鹽水就放回家了。這次正好國外旅游中,幾乎疼了一整晚,整個在床上翻滾狀態了。今天不疼了,就是整個人難受。。。求助阿
    • --胃疼
    • 6.?re: [Swing]在 JFileChooser 中進行文件驗證的小技巧
    • 輸入*還是會有問題
    • --ngh
    • 7.?re: 胃痙攣[未登錄]
    • 昨晚一夜的身不如死的感覺,胃痙攣兄不要來了吧 ,求你了
    • --李飛
    • 8.?re: 胃痙攣
    • 評論內容較長,點擊標題查看
    • --daidai
    • 9.?re: 胃痙攣
    • 評論內容較長,點擊標題查看
    • --痛啊
    • 10.?re: 胃痙攣
    • 媽啊 痛的快死了~!第一次感覺過這樣的痛啊~!和女的生孩子有的一比了吧~!哭哭哭~!
    • --痛啊

    閱讀排行榜

    主站蜘蛛池模板: 亚洲av日韩av高潮潮喷无码 | 中文字幕不卡免费视频| 国产女高清在线看免费观看| 亚洲最新在线视频| 日本免费人成在线网站| 亚洲区视频在线观看| 一二三四视频在线观看中文版免费 | 亚洲乱码av中文一区二区| 久久这里只有精品国产免费10| 亚洲精品无码少妇30P| 麻豆国产VA免费精品高清在线| 老子影院午夜伦不卡亚洲| 亚洲国产中文字幕在线观看| 一出一进一爽一粗一大视频免费的| 日本高清在线免费| 7777久久亚洲中文字幕| 国产三级电影免费观看| 久久久久国色AV免费观看| 亚洲天堂久久精品| 女人18毛片a级毛片免费视频| 国产亚洲情侣久久精品| 亚洲日韩精品无码专区网址| h在线观看视频免费网站| 亚洲AV无码男人的天堂| 国产精品亚洲高清一区二区| 久久久久久国产精品免费无码| www.亚洲成在线| 亚洲另类激情专区小说图片| 久久久免费的精品| 亚洲国产AV无码专区亚洲AV| 日韩在线视频播放免费视频完整版| 四虎成人免费观看在线网址| 成人国产网站v片免费观看| 亚洲一区二区三区日本久久九| 97在线观免费视频观看| 丁香六月婷婷精品免费观看| 久久99亚洲网美利坚合众国| 最好免费观看韩国+日本| 成人精品视频99在线观看免费| 亚洲电影免费观看| 亚洲午夜精品一级在线播放放|