国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在MIDP1.0中簡單模擬圖片翻轉功能

2019-11-17 06:07:47
字體:
來源:轉載
供稿:網友

聲明:該程序由于速度很慢,只做為技術參考。
//--------------------------------------------------------------------------------------------------------------------------
在MIDP1.0中,大家都知道并沒有提供圖片翻轉功能,這里提出了一個簡單實現圖片翻轉功能的方法,雖然該方法并不實用(在速度很快的手機上也許能用的上),但希望能給大家一些幫助。
 public void paintImage_Level(Graphics g,Image image,int x,int y)
 {//這段代碼主要實現了圖片的水平翻轉,原理很簡單。
      for(int i=0;i<image.getWidth();++i)
      {
           g.setClip(x+i,y,1,image.getHeight());
           g.drawImage(image,x-image.getWidth()+i*2+1,y,Graphics.TOPGraphics.LEFT);
      }
 }
//----------------------------------------------------------------------------------------------------------------------------
 public void paintImage_Antic(Graphics g,Image image,int x,int y)
 {//這段代碼主要實現了圖片的逆時針90度的翻轉
       for(int i=0;i<image.getWidth();++i)
      {
           for(int j=0;j<image.getHeight();++j)
           {
                g.setClip(x+i,y+j,1,1);
                g.drawImage(image,x-image.getWidth()+j+i+1,y+j-i,Graphics.TOPGraphics.LEFT);
           }
      }
 }
大家可能已經看出該功能的實現方法了,就是使用setClip()函數來控制繪圖的區域,來實現類似繪制像素點的功能。缺點很明顯,繪制速度太慢。
下面做了一點小小的改進,使用了雙緩沖技術,圖片的顯示速度快了很多,下面只列出部分的代碼。
Image mid1;
……  ……
mid1=Image.createImage(130,130);
paintImage_Level(mid1.getGraphics(),image,(getWidth()-image.getWidth())/2,(getHeight()-image.getHeight())/2);
…… ……
g.drawImage(mid1,(getWidth()-image.getWidth())/2,(getHeight()-image.getHeight())/2,Graphics.TOPGraphics.LEFT);
雖然繪制速度快了很多但缺點一樣也很多
第一:載入速度比較慢;
第二:只適用于矩形(無透明)圖片;
第三:占用了很多內存。
[注:本文中的代碼在索尼愛立信模擬器上測試通過,為了不影響各位手機的壽命,最好不要在實機上運行。呵呵]

最后,假如大家有更好的解決辦法一定要通知我呀,我在這里先謝謝了。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 思茅市| 凤山县| 鹤山市| 桓台县| 开化县| 新绛县| 松桃| 文登市| 山阳县| 涡阳县| 舞钢市| 越西县| 张家界市| 兴仁县| 靖安县| 馆陶县| 海丰县| 台江县| 上杭县| 乌苏市| 衡南县| 年辖:市辖区| 沛县| 天长市| 色达县| 保康县| 横山县| 察雅县| 永年县| 六盘水市| 怀安县| 博兴县| 将乐县| 澄迈县| 日土县| 水富县| 阳高县| 吴桥县| 长顺县| 荥阳市| 阿鲁科尔沁旗|