How to scale canvas ?

All your problems with Audio, Video and Images.

How to scale canvas ?

Postby hudvin » Thu Mar 05, 2009 7:29 pm

I want to implement smooth zoom in in next way:
Syntax: [ Download ] [ Hide ]
Using java Syntax Highlighting
  1.  
  2. private synchronized void doDraw(Canvas canvas, Paint paint) {
  3.  
  4.            Bitmap tmpBitmap;
  5.  
  6.                 Matrix matr = new Matrix();
  7.  
  8.                 matr.postScale(scaleFactor, scaleFactor);
  9.  
  10.                 canvas.setMatrix(matr);
  11.  
  12.                 for (int i = 0; i < 7; i++) {
  13.  
  14.                         for (int j = 0; j < 7; j++) {
  15.  
  16.                                 if ((i > 1 && i < 5) && ((j > 1 && j < 5))) {
  17.  
  18.                                         tmpBitmap = pmap.getCell(i - 2, j - 2);
  19.  
  20.                                         if (tmpBitmap != null) {
  21.  
  22.                                                 isNew = false;
  23.  
  24.                                                 canvas.drawBitmap(tmpBitmap, (i - 2) * TILE_SIZE
  25.  
  26.                                                                 + pmap.getGlobalOffset().x, (j - 2) * TILE_SIZE
  27.  
  28.                                                                 + pmap.getGlobalOffset().y, paint);
  29.  
  30.                                         }
  31.  
  32.                                 } else {
  33.  
  34.                                         canvas.drawBitmap(CELL_BACKGROUND, (i - 2) * TILE_SIZE
  35.  
  36.                                                         + pmap.getGlobalOffset().x, (j - 2) * TILE_SIZE
  37.  
  38.                                                         + pmap.getGlobalOffset().y, paint);
  39.  
  40.                                 }
  41.  
  42.                         }
  43.  
  44.                 }
  45.  
  46.  
  47.  
  48.                
  49.  
  50.                
  51.  
  52.                 canvas.restore();
  53.  
  54.         }
  55.  
  56.  
Parsed in 0.034 seconds, using GeSHi 1.0.8.4

scaleFactor is updated in thread(also its invalidates panel after each step)
scaleFactor changes from 1 to 2, but canvas scaled in 3 or 4!!!
hudvin
Freshman
Freshman
 
Posts: 6
Joined: Wed Jan 14, 2009 3:50 pm

Top

Return to Multimedia Problems

Who is online

Users browsing this forum: No registered users and 11 guests