CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2ME

J2ME开发,跪求如何全屏显示图片!不分任何手机型号!

楼主setup37()2006-09-19 17:33:48 在 Java / J2ME 提问

我目前的代码如下  
  ClientMIDlet.java文件如下:  
   
  import   javax.microedition.midlet.*;  
  import   javax.microedition.lcdui.*;  
  public   class     ClientMIDlet   extends   MIDlet   implements   Runnable{      
     
          public   static   Display   display;  
          public   static   ClientMIDlet   instance=null;          
          public   static   int   count=0;      
           
          public   static   MainCanvas   mainCanvas=null;  
           
           
          public   ClientMIDlet(){                            
                  instance=this;                
  display=Display.getDisplay(this);  
                  mainCanvas=new   MainCanvas();                
                  display.setCurrent(mainCanvas);  
                  new   Thread(this).start();        
          }  
         
          public   void   run(){  
                  while(true){  
                          mainLoop();  
                          try{  
                                  Thread.sleep(80);  
                          }catch(Exception   e){}  
                  }  
          }  
          public   void   mainLoop(){            
                   
                  mainCanvas.repaint();                              
                  count++;  
                  if(count==100){  
                          count=0;  
                  }  
          }  
           
          public   void   startApp(){  
          }  
          public   void   pauseApp(){  
          }  
          public   void   destroyApp(boolean   unconditional){  
                  count=0;                
          }  
  }  
   
  ////////////////////////////////////////////////////////  
  MainCanvas.java代码如下:  
  /*  
    *   MainCanvas.java  
    *  
    *   Created   on   2006年7月13日,   下午4:08  
    *  
    *   To   change   this   template,   choose   Tools   |   Template   Manager  
    *   and   open   the   template   in   the   editor.  
    */  
   
  /**  
    *  
    *   @author   paisheng  
    */  
  import   javax.microedition.lcdui.*;  
  class   MainCanvas   extends   Canvas   implements   CommandListener{  
          static   int   SCREEN_WIDTH,SCREEN_HEIGHT;  
          Command   Cmd_ok,Cmd_logout,Cmd_cancle;  
          /**避免重复*/  
          boolean   b;  
          Image   imgItem[]=new   Image[9];  
  Image   bg;  
          int   curX,curY;  
   
          MainCanvas(){  
                  SCREEN_WIDTH=getWidth();  
  SCREEN_HEIGHT=getHeight();  
                   
                  try{                    
    bg=Image.createImage("/bg.png");  
                          for(int   i=0;i<imgItem.length;i++)  
                                  imgItem[i]=Image.createImage("/"+i+".png");  
                  }catch(Exception   e){System.out.println("err:"+e);}  
                 
                  Cmd_ok=new   Command("确定",Command.OK,1);      
                  Cmd_cancle   =   new   Command("取消",Command.CANCEL,1);  
                  addCommand(Cmd_ok);  
                  addCommand(Cmd_cancle);  
                  setCommandListener(this);  
          }  
   
          public   void   commandAction(Command   c,Displayable   d){  
                  if(c==Cmd_ok){  
                          if(!b){  
                                  b=true;                        
                                  int   id=curX+curY*3;  
                                  if(id==0){  
                                           
                                  }else   if(id==1){  
                                           
                                  }else   if(id==2){  
                                         
                                  }else   if(id==3){//消息  
                                         
                                  }else   if(id==4){//                                  
                                           
                                  }else   if(id==5){//  
                                         
                                  }else   if(id==6){  
                                         
                                  }else   if(id==7){  
                                                               
                                  }else   if(id==8){  
                                                               
                                  }                      
  System.out.println(id);  
                                  b=false;  
                          }  
                  }  
          }  
   
          public   void   paint(Graphics   g){  
                  g.setColor(0xffffff);  
                  g.fillRect(0,0,getWidth(),getHeight());  
  g.drawImage(bg,0,0,0);  
                  for(int   i=0;i<3;i++){//row  
                          for(int   j=0;j<3;j++){//col  
                                  if(i*3+j<imgItem.length){        
                                          if(curX+curY*3==i*3+j){  
                                                  if(ClientMIDlet.count%8<2){  
                                                          drawPic(1+j*58,i*48,0,0,58,48,imgItem[i*3+j],g);  
                                                  }else   if(ClientMIDlet.count%8<5){  
                                                          drawPic(1+j*58,i*48,58,0,58,48,imgItem[i*3+j],g);  
                                                  }else{  
                                                          drawPic(1+j*58,i*48,58*2,0,58,48,imgItem[i*3+j],g);  
                                                  }  
                                          }else{  
                                                  drawPic(1+j*58,i*48,0,0,58,48,imgItem[i*3+j],g);  
                                          }  
                                  }  
                          }  
                  }                
                   
          }  
          private   void   drawPic(int   sx,   int   sy,int   px   ,int   py,   int   pw,   int   ph,Image   img,Graphics   g){  
                  g.setClip(sx,sy,pw,ph);  
                  g.drawImage(img,sx-px,sy-py,20);  
                  g.setClip(0,0,getWidth(),getHeight());  
          }  
   
          public   void   keyPressed(int   keyCode){  
                  if   (keyCode   ==   KEY_NUM2   ||   keyCode   ==   -1)   {  
                          curY--;  
                          if(curX+curY*3<0){  
                                  curY=imgItem.length/3;  
                                  if(curX+curY*3>=imgItem.length){  
                                          curY-=1;  
                                  }  
                          }  
                  }else   if   (keyCode   ==   KEY_NUM8   ||   keyCode   ==   -2)   {  
                          curY++;  
                          if(curX+curY*3>=imgItem.length){  
                                  curY=0;  
                          }  
                  }else   if   (keyCode   ==   KEY_NUM4   ||   keyCode   ==   -3)   {  
                          curX--;  
                          if(curX+curY*3<0){  
                                  curX=imgItem.length%3-1;  
                                  curY=imgItem.length/3;  
                          }else{  
                                  if(curX<0){  
                                          curX=2;  
                                          curY--;  
                                          if(curX+curY*3<0){  
                                                  curX=imgItem.length%3-1;  
                                                  curY=imgItem.length/3;  
                                          }  
                                  }  
                          }  
                         
                  }else   if   (keyCode   ==   KEY_NUM6   ||   keyCode   ==   -4)   {  
                          curX++;  
                          if(curX+curY*3>=imgItem.length){  
                                curX=0;  
                                curY=0;  
                          }else{  
                                  if(curX>2){  
                                          curX=0;  
                                          curY++;  
                                          if(curX+curY*3>=imgItem.length){  
                                                curX=0;  
                                                curY=0;  
                                          }  
                                  }  
                          }  
                  }      
          }  
         
          public   void   showNotify(){  
                 
          }  
          public   void   hideNotify(){  
               
          }      
   
  }  
   
   
  现在的图片都是174*144的!  
  屏幕大点的手机,就不能全屏显示图片!  
  这是个正方形的9格图片  
  希望大虾能帮我想想如何不分手机型号,都让这9格图片全屏显示~!  
  谢谢各位大哥大姐了!  
  实在不好意思,不知道为啥今天只能给30分了!这破CSDN不知道怎么算这分!  
  本人QQ   504655474  
  或者EMAIL     liuyin_jay@yahoo.com.cn  
  MSN             liuyin_jay@yahoo.com.cn  
  问题点数:30、回复次数:23Top

1 楼Mailbomb(网络咖啡http://blog.csdn.net/mailbomb)回复于 2006-09-20 20:17:40 得分 2

MIDP2.0:Canvas类的setFullScreenMode方法  
  Nokia:FullCanvas类  
   
  其他的不能全屏Top

2 楼maquan('ma:kju)回复于 2006-09-21 12:35:04 得分 2

我粗粗看了一下楼主的程序,好像是通过计算坐标把屏幕切分成   9   格,然后在每个格里显示一个图片。但你现在切分   9   格时是用固定坐标值计算的。  
   
  如果你在切分   9   格时用屏幕尺寸来做,不就可以“全屏”了吗?Top

3 楼Rayuu()回复于 2006-09-22 09:42:47 得分 0

setFullScreenMode(true);Top

4 楼setup37()回复于 2006-09-22 10:05:53 得分 0

maquan('ma:kju)的说法,有点那个意思!  
  其他的setFullScreenMode我也有试过,是可以全P,但是图片大小没有变!小的可怜哦~  
  maquan('ma:kju)能帮我写一下大概代码吗?我QQ504655474  
  切分   9   格时用屏幕尺寸来做!屏幕尺寸怎么取得呢?Top

5 楼Rayuu()回复于 2006-09-22 13:01:50 得分 2

建议用Polish来预编译,就能处理不同屏幕大小的机型。Top

6 楼setup37()回复于 2006-09-22 13:12:33 得分 0

大哥,不明白,说的通俗点行么?我是超级菜鸟班的!Top

7 楼MagicPeng(彭彭)回复于 2006-09-22 15:02:16 得分 2

不用第三方软件     能实现全屏吗?     nokia有个fullcanvasTop

8 楼setup37()回复于 2006-09-22 15:21:55 得分 0

大哥大姐们。能不能再说的详细些,小妹我J2EE还能理解,J2ME实在是没接触过啊~拜托各位了Top

9 楼maquan('ma:kju)回复于 2006-09-22 16:32:50 得分 0

>   切分   9   格时用屏幕尺寸来做!屏幕尺寸怎么取得呢?  
   
  其实我也不是很清楚,不过你程序中那个   getWidth()、getHeight()   不是吗?Top

10 楼maquan('ma:kju)回复于 2006-09-22 16:35:37 得分 0

>   不用第三方软件     能实现全屏吗?     nokia有个fullcanvas  
   
  我估计楼主这个帖子里所谓的“全屏”应该是指对于不同屏幕尺寸的手机都能使用其可供使用的最大屏幕空间。你说的那个“全屏”应该是连手机图标什么的都给它覆盖掉。Top

11 楼zitengxin()回复于 2006-09-23 17:08:09 得分 0

楼主是不是全屏是有了  
  分九格也做到了  
  就是没格里面的图片很小啊  
  如果是这样要自己写代码放大图片了  
  Top

12 楼maquan('ma:kju)回复于 2006-09-24 21:57:52 得分 0

>   是可以全P,但是图片大小没有变!小的可怜哦~  
   
  找遍了   API,也没看见能做图片缩放的方法。楼主能不能将就一下,把图片显示在格子的中央,这样就算小一点也不会太难看喽     ^_^     或者,反过来想想,把图片做得大一点,这样在小屏幕的时候损失点四边。  
   
  否则,就找找看有没有第三方的类库能做图片缩放的。Top

13 楼marsgongna(Shirley)回复于 2006-09-27 14:38:07 得分 0

搂主,就像zitengxin说的那样,你可以写代码把图片放大的,不要分成9个格子,而是一个像素一个像素的画,通过屏幕的长宽来决定每个象素画的位置和次数。就是一个简单的放大图片的函数Top

14 楼setup37()回复于 2006-09-28 09:57:13 得分 0

marsgongna()   SAY:  
  楼主是不是全屏是有了  
  分九格也做到了  
  就是没格里面的图片很小啊  
  如果是这样要自己写代码放大图片了  
   
   
  可以放大图片吗?是不是有个拉伸图片的方法?能教教我么?或者发个例子到我邮箱  
  liuyin_jay@yahoo.com.cn  
  麻烦前辈了,哈哈!  
  这个邮箱也是我MSN,方便交流!谢谢各位啊!谢谢Top

15 楼guileen(松风抚琴)回复于 2006-09-28 10:43:01 得分 2

支持MIDP2.0   GameCanvas  
  不支持MIDP2.0   Nokia   S40   S60。。开发包   FullCanvas  
   
  任意型号手机,不可能Top

16 楼setup37()回复于 2006-09-28 11:07:50 得分 0

晕,那可怎么好?Top

17 楼marsgongna(Shirley)回复于 2006-09-28 13:57:22 得分 10

无论在midp1.0还是在midp2.0中,系统都没有给我们提供对图片进行伸缩操作的api.但是其实我们只要在程序代码中略施小计,就能达到这个效果,只是效果要比美术做出来的图片,呵呵,差多啦,同时也会造成性能损失。伸缩图片的构造原理就是简单沿x,y轴按比例放缩,比如说我们需要把一张16*16的png图片转化成一张32*32的图片,那么我们可以先对该图片做一个水平方向上的拉伸操作,然后再把水平拉伸后的图片按垂直方向再做一次拉伸操作。做拉伸操作时,比如水平方向上,我们需要构造一张32*16的mutable   Image,获取其Graphics,利用该Graphics,绘制该mutable   Graphics的每一列像素,这一列像素就来自于原始图片中的按比例对应的某一列像素。垂直方向上的拉伸操作也是如法炮制。因为是一种按比例的对应关系,图像的缩小操作也可按该办法进行。  
   
    好了,我们来看代码  
    import   javax.microedition.lcdui.Graphics;  
    import   javax.microedition.lcdui.Image;  
    /**  
    *   图像工具类  
    *   @author   Jagie  
    *  
    */  
    public   class   ImageUtil   {  
    /**  
    *   图像放缩方法  
    *   @param   srcImage   原始的Image对象  
    *   @param   newW   放缩后的Image的宽度  
    *   @param   newH   放缩后的Image的高度  
    *   @return   放缩后的Image对象  
    */  
      
    public   static   final   Image   scale   (Image   srcImage,   int   newW,   int   newH)   {  
    int   srcW   =   srcImage.getWidth();  
    int   srcH   =   srcImage.getHeight();  
    //先做水平方向上的伸缩变换  
    Image   tmp   =   Image.createImage(newW,   srcH);  
    Graphics   g   =   tmp.getGraphics();  
    for   (int   x   =   0;   x   <   newW;   x++)   {  
    g.setClip(x,   0,   1,   srcH);  
    //按比例放缩  
    g.drawImage(srcImage,x-x*srcWnewW,0,Graphics.LEFT   |   Graphics.TOP);  
    }  
    //再做垂直方向上的伸缩变换  
    Image   dst   =   Image.createImage(newW,   newH);  
    g   =   dst.getGraphics();  
    for   (int   y   =   0;   y   <   newH;   y++)   {  
    g.setClip(0,   y,   newW,   1);  
    //按比例放缩  
    g.drawImage(tmp,0,y-y*srcHnewH,Graphics.LEFT   |   Graphics.TOP);  
      
    }  
    return   dst;  
    }  
    }  
    也许有人会提出疑问,既然是按x,y方向按等比例放缩,那我写成这样岂不是代码更简洁:  
    public   static   final   Image   scale2(Image   srcImage,   int   newW,   int   newH)   {  
    int   srcW   =   srcImage.getWidth();  
    int   srcH   =   srcImage.getHeight();  
      
    Image   dst=Image.createImage(newW,newH);  
    Graphics   g=dst.getGraphics();  
    for   (int   x   =   0;   x   <   newW;   x++)   {  
    for   (int   y   =   0;   y   <   newH;   y++)   {  
    g.setClip(x,   y,   1,   1);  
    g.drawImage(srcImage,   x-x*srcWnewW,   y   -   y   *   srcH   /   newH,   Graphics.LEFT  
    |   Graphics.TOP);  
    }  
    }  
    return   dst;  
    }  
    这种做法效果上和前者无异,但是并不可取,只要算算它的时间复杂度就知道,基本上是前者的平方。在我的机器上,做一次全屏幕的放缩操作,前者耗时60ms,而后者耗时7150ms。Top

18 楼marsgongna(Shirley)回复于 2006-09-28 13:58:59 得分 0

可能效果没有原来的好呢~~~Top

19 楼szpublice(ichinaec)回复于 2006-10-06 21:02:21 得分 0

帮MM顶.加油.Top

20 楼wawayupolly(小隽)回复于 2006-10-07 13:33:13 得分 0

顶,俺也不知道这个方法列,学习Top

21 楼k7sem(【Conch fish】I love qing qing.)回复于 2006-10-07 15:11:33 得分 10

给你两个方法吧,不过效率上可能不同。   都是实现图片的缩小和放大的。  
   
  --------------------Method_1------------------------------------  
  //   调整图片的大小  
  private   Image   creatNewImg(Image   image)   {  
   
  int   sourceWidth   =   image.getWidth   ();  
  int   sourceHeight   =   image.getHeight   ();  
  //   设置缩小图的宽度;  
  int   newWidth   =   168;  
  int   newHeight   =   168;  
  //   if   (newHeight   ==   -1)  
  //   //计算缩小图的高度  
  //   newHeight   =   newWidth   *   sourceHeight   /   sourceWidth;  
  Image   newImg   =   Image.createImage   (newWidth,   newHeight);  
  Graphics   g   =   newImg.getGraphics   ();  
  for(int   y   =   0;   y   <   newHeight;   y   +=   2)   {  
  for(int   x   =   0;   x   <   newWidth;   x   +=   2)   {  
  g.setClip   (x,   y,   2,   2);  
  int   dx   =   x   *   sourceWidth   /   newWidth;  
  int   dy   =   y   *   sourceHeight   /   newHeight;  
  //   按照比例计算原图片中的像素  
  g.drawImage   (image,   x   -   dx,   y   -   dy,   Graphics.LEFT  
  |   Graphics.TOP);  
  }  
  }  
  Image   fitImg   =   Image.createImage   (newImg);  
  return   fitImg;  
  }  
  ------------------------End   Method_1--------------------------------------  
   
   
  -------------------------Method_2------------------------------------------  
  //////////////////////////简单应用///////////////////////////////////////////////////////////////////////////  
  Image   img1;//原图  
  Image   img2;//修改后的图  
  int   x;  
  int   y;  
  int   rW;//修改后的图像宽  
  int   rY;//修改后的图象高  
  try  
  {  
  img1   =   Image.createImage("/ff.png");  
  }catch(Exception   e){}  
   
  public   void   drawResizeImg(Graphics   g)  
  {  
  g.draw(img1,x,y,0);//画原图  
  img2   =   resizeImage(img1,rW,rH,0/*模式参数取值0或1*/);//用resizeImage方法生成新图象   rW,rH分别为宽   高    
  g.draw(img2,x,y+100,0);//画新图  
  }  
  /////////////////////////////////////////////////////////////////////////////////////////////////////  
   
   
   
   
   
   
  //   固定点常量    
  /*  
  *这几个参数必须  
  *  
  */  
        private   static   final   int   FP_SHIFT   =   13;  
        private   static   final   int   FP_ONE   =   1   <<   FP_SHIFT;    
        private   static   final   int   FP_HALF   =   1   <<   (FP_SHIFT   -   1);    
           
        //   采集模式   -     resizeImage()   中模式的有效参数  
        //   默认的模式可以为   MODE_BOX_FILTER   因为在resizeImage()被实现  
        public   static   final   int   MODE_POINT_SAMPLE   =   0;    
        public   static   final   int   MODE_BOX_FILTER   =   1;    
           
        /**    
          *得到像素  
          *将一个图像对象传入,将返回一个int型的像素数组。  
          */    
        int[]   getPixels(Image   src)   {    
              int   w   =   src.getWidth();    
              int   h   =   src.getHeight();    
              int[]   pixels   =   new   int[w   *   h];    
              src.getRGB(pixels,0,w,0,0,w,h);    
              return   pixels;    
        }    
           
        /**    
          *   这个方法,可以用一个已有的像素数组,生成一个新的图象对象  
          */    
        Image   drawPixels(int[]   pixels,   int   w,   int   h)   {    
              return   Image.createRGBImage(pixels,w,h,true);    
        }    
           
        /**    
          *   resizeImage    
          *   传入已有图象作为参数,并且给出修改的参数,生成新的图象  
          *   @参数   src   图形对象    
          *   @参数   destW     目标图象的宽    
          *   @参数   destH     目标图象的高  
          *   @参数   mode   表示生成新图象的两种模式:    
          *   MODE_POINT_SAMPLE   -   point   sampled   resizing,   and   MODE_BOX_FILTER   -   box   filtered   resizing   (default).    
  *   -点采样-     -盒过滤-(默认)  
          *   @返回一个修改后的图象.    
          */    
        Image   resizeImage(Image   src,   int   destW,   int   destH,   int   mode)   {    
              int   srcW   =   src.getWidth();    
              int   srcH   =   src.getHeight();    
               
              //   建立像素数组    
              int[]   destPixels   =   new   int[destW   *   destH];   //   目标图象的像素数组    
              int[]   srcPixels   =   getPixels(src);   //   源图像的像素数组  
               
              if   (mode   ==   MODE_POINT_SAMPLE)   {    
                    //   单点采样模式  
                    //   遍历目标像素组,源像素经放大    
                    for   (int   destY   =   0;   destY   <   destH;   ++destY)   {    
                          for   (int   destX   =   0;   destX   <   destW;   ++destX)   {    
                                int   srcX   =   (destX   *   srcW)   /   destW;    
                                int   srcY   =   (destY   *   srcH)   /   destH;    
                                destPixels[destX   +   destY   *   destW]   =   srcPixels[srcX   +   srcY   *   srcW];    
                          }    
                    }    
              }    
              else   {    
                    //源图象的密度系数  
                    int   ratioW   =   (srcW   <<   FP_SHIFT)   /   destW;    
                    int   ratioH   =   (srcH   <<   FP_SHIFT)   /   destH;    
                       
                    int[]   tmpPixels   =   new   int[destW   *   srcH];   //   水平重采样的临时缓存  
                       
                    //   执行添加混合的参数  
                    int   argb;   //   源图象的提取颜色值    
                    int   a,   r,   g,   b;   //   被分的颜色通道    
                    int   count;   //采样像素的平均值  
                       
                    //   重采样被分为简单的两步    
                    //   第一步   将保持相同的高度   水平拉伸    
                    //   第二步   垂直拉伸  
                       
                    //   水平采样    
                    for   (int   y   =   0;   y   <   srcH;   ++y)   {    
                          for   (int   destX   =   0;   destX   <   destW;   ++destX)   {    
                                count   =   0;   a   =   0;   r   =   0;   b   =   0;   g   =   0;   //初始化颜色值    
                                int   srcX   =   (destX   *   ratioW)   >>   FP_SHIFT;   //   计算开始采样  
                                int   srcX2   =   ((destX   +   1)   *   ratioW)   >>   FP_SHIFT;   //计算计算采样  
                                   
                                //   循环   并且添加颜色值到通道  
                                do   {    
                                      argb   =   srcPixels[srcX   +   y   *   srcW];    
                                      a   +=   ((argb   &   0xff000000)   >>   24);   //   alpha   通道    
                                      r   +=   ((argb   &   0x00ff0000)   >>   16);   //   红色通道    
                                      g   +=   ((argb   &   0x0000ff00)   >>   8);   //   绿色通道    
                                      b   +=   (argb   &   0x000000ff);   //   蓝色   通道    
                                      ++count;   //   像素的计算    
                                      ++srcX;   //移动到下一个像素  
                                }    
                                while   (srcX   <=   srcX2   &&   srcX   +   y   *   srcW   <   srcPixels.length);    
                                   
                                //   平均通道值  
                                a   /=   count;    
                                r   /=   count;    
                                g   /=   count;    
                                b   /=   count;    
                                   
                                //   重建颜色通道值并放入缓存中  
                                tmpPixels[destX   +   y   *   destW]   =   ((a   <<   24)   |   (r   <<   16)   |   (g   <<   8)   |   b);    
                          }    
                    }    
    //   垂直采样   (水平采样已经完成)    
                    System.out.println("Vertical   resampling...");    
                    for   (int   x   =   0;   x   <   destW;   ++x)   {    
                          for   (int   destY   =   0;   destY   <   destH;   ++destY)   {    
                                count   =   0;   a   =   0;   r   =   0;   b   =   0;   g   =   0;   //   initialize   color   blending   vars    
                                int   srcY   =   (destY   *   ratioH)   >>   FP_SHIFT;   //   calculate   beginning   of   sample    
                                int   srcY2   =   ((destY   +   1)   *   ratioH)   >>   FP_SHIFT;   //   calculate   end   of   sample    
                                   
                                //   循环   并且添加颜色值到通道  
                                do   {    
                                      argb   =   tmpPixels[x   +   srcY   *   destW];    
                                      a   +=   ((argb   &   0xff000000)   >>   24);   //   alpha   通道    
                                      r   +=   ((argb   &   0x00ff0000)   >>   16);   //   红色通道    
                                      g   +=   ((argb   &   0x0000ff00)   >>   8);   //   绿色通道      
                                      b   +=   (argb   &   0x000000ff);   //蓝色   通道    
                                      ++count;   //   像素的计算    
                                      ++srcY;   //移动到下一个像素  
                                }    
                                while   (srcY   <=   srcY2   &&   x   +   srcY   *   destW   <   tmpPixels.length);    
                                   
                                //     平均通道值  
                                a   /=   count;   a   =   (a   >   255)   ?   255   :   a;    
                                r   /=   count;   r   =   (r   >   255)   ?   255   :   r;    
                                g   /=   count;   g   =   (g   >   255)   ?   255   :   g;    
                                b   /=   count;   b   =   (b   >   255)   ?   255   :   b;    
                                   
                                //   重建颜色通道值并放入缓存中  
                                destPixels[x   +   destY   *   destW]   =   ((a   <<   24)   |   (r   <<   16)   |   (g   <<   8)   |   b);    
                          }    
                    }    
              }    
               
              //   用新的缓存返回新图象  
              return   drawPixels(destPixels,destW,destH);    
        }    
  ----------------------------------End   Method_2--------------------------Top

22 楼setup37()回复于 2006-10-09 13:22:14 得分 0

太复杂了。啊,我这菜鸟太菜了55555555555555555  
  感觉KJAVA怎么这么难弄啊?人都说KJAVA比JAVA简单!我看来,KJAVA就是无字天书似的。55555555一窍不通啊Top

23 楼z5770720(Midlet)回复于 2006-10-09 13:58:26 得分 0

很深奥!!!Top

相关问题

关键词

得分解答快速导航

  • 帖主:setup37
  • Mailbomb
  • maquan
  • Rayuu
  • MagicPeng
  • guileen
  • marsgongna
  • k7sem

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo