تبليغاتX
Sigma VirTual Laboratories Network - Zoom an image an access soft keys
 
Sigma VirTual Laboratories Network
 
 
طراحی پروژه دانشجویی و تجاری برنامه موبایل با J2ME، آموزش برنامه نویسی موبایل با J2ME
 
دو مطلب ممکنه خیلی به دردتون بخوره، اونا هم عبارتند از: 1- تغییر اندازه عکس 2- بررسی دکمه های نرم در برنامه های J2ME.

1- این کد یک Image از شما میگیره و به اندازه دلخواه تغییر اندازه میده.       

    

        public Image rescaleImage(Image srcImg, int newWidth, int newHeight) {
           
            int dx=0, dy=0, xx=0, yy=0;
            int out[] = new int[newWidth*newHeight];
            int x = srcImg.getWidth();
            int y = srcImg.getHeight();
            int[] ini = new int[srcImg.getWidth()*srcImg.getHeight()];
            srcImg.getRGB(ini,0,srcImg.getWidth(),0,0,srcImg.getWidth(),srcImg.getHeight());

            for (yy = 0; yy < newHeight; yy++) {
                dy = yy * y / newHeight;
                for (xx = 0; xx < newWidth; xx++) {
                    dx = xx * x / newWidth;
                    out[(newWidth*yy)+xx]=ini[(x*dy)+dx];
                }
            }
            return Image.createRGBImage(out,newWidth,newHeight,true);
    }

2- البته، من این کد رو برای اولین بار از یک فروم آمریکایی گرفتم، ولی بعد از مدتی از برنامه AAchess اون رو الگو برداری کردم، چون اونی که از فروم آمریکایی گرفتم یه مقداری الکی طولانی و بی منطق بود.

از مدیر سایت www.j2me.blogfa.com برای این برنامه تشکر می کنم.

چرا این کد برای تشخیص بهتره؟ چون بعضی از گوشی ها مثل K750i دکمه های نرم رو با این کد فقط می تونن شناسایی کنند.

      public static int leftOrRightSoft(int keyCode ,Canvas myCanvas)
 {
  
  if(keyCode == -21)
   return LEFT_SOFT;//<--- constants
  if(keyCode == -22)
   return RIGHT_SOFT;

  if(keyCode == -6 && myCanvas.getGameAction(keyCode) != DOWN)
   return LEFT_SOFT;
  if(keyCode == -7)
   return RIGHT_SOFT;
  

                return keyCode;
 } 

 

 

    

 |+| نوشته شده در  87/08/20ساعت 19:20  توسط افشین  | 
 
  بالا