I already tried.But no use.Please help .

On Fri, Dec 16, 2011 at 7:33 PM, New Developer <secur...@isscp.com> wrote:

>  Look at the setRotationX()  setRotationY()  and  setScaleX()  setScaleY()
> They sure make the work much easier
>
>
>
> On 12/16/2011 08:59 AM, chowdary nani wrote:
>
>
> Hi All,
> I need help on Image zoom and Image rotate in android with in the same
> screen
> I am developing using below code.
>
>  public class ImageRotateActivity extends Activity {
>  /** Called when the activity is first created. */
>  private ImageView img;
>  private Button rotate;
>  private Button zoom;
>  float degrees =0;
>
>  @Override
>  protected void onCreate(Bundle savedInstanceState) {
>  super.onCreate(savedInstanceState);
>
>  zoom=(Button)findViewById(R.id.button2);
>  zoom.setOnClickListener(new OnClickListener() {
>   public void onClick(View v) {
>  // TODO Auto-generated method stub
>
>   setContentView(new Zoom(this));
>   }
> });
>   rotate = (Button) findViewById(R.id.button1);
>  rotate.setOnClickListener(new OnClickListener() {
>
>  public void onClick(View v) {
>  // TODO Auto-generated method stub
>  setContentView(R.layout.main);
>  make(degrees);
>  }
>  });
>
>  }
>
>
>
>      public void make(float x){
>
>         android.util.Log.i("INSIDE MAKE", "inside make");
>
>         LinearLayout linLayout = new LinearLayout(this);
>
>
>
>         // load the origial BitMap (500 x 500 px)
>
>          Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),
>
>                R.drawable.honeycomb);
>
>
>
>         int width = bitmapOrg.getWidth();
>
>         int height = bitmapOrg.getHeight();
>
>         int newWidth = 200;
>
>         int newHeight = 200;
>
>
>
>         // calculate the scale - in this case = 0.4f
>
>         float scaleWidth = ((float) newWidth) / width;
>
>         float scaleHeight = ((float) newHeight) / height;
>
>
>
>         // createa matrix for the manipulation
>
>         Matrix matrix = new Matrix();
>
>          // resize the bit map
>
>         matrix.postScale(scaleWidth, scaleHeight);
>
>         // rotate the Bitmap
>
>         matrix.postRotate(x);
>
>
>
>         // recreate the new Bitmap
>
>         Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0,
>
>                           width, height, matrix, true);
>
>
>
>         // make a Drawable from Bitmap to allow to set the BitMap
>
>         // to the ImageView, ImageButton or what ever
>
>         BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);
>
>
>
>         ImageView imageView = new ImageView(this);
>
>
>
>         // set the Drawable on the ImageView
>
>         imageView.setImageDrawable(bmd);
>
>
>
>         // center the Image
>
>         imageView.setScaleType(ScaleType.CENTER);
>
>
>
>         // add ImageView to the Layout
>
>          linLayout.addView(imageView,
>
>           new LinearLayout.LayoutParams(
>
>                       LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT
>
>                 )
>
>         );
>
>
>
>         // set LinearLayout as ContentView
>
>         setContentView(linLayout);
>
>         android.util.Log.i("GOING OUT MAKE", "going out make");
>
>     }
>
>
>
>     public boolean onKeyDown(int keyCode, KeyEvent event) {
>
>
>
>          if(keyCode==KeyEvent.KEYCODE_DPAD_UP)// rotate clockwise
>
>              // zoomControler+=10;
>
>                 {
>
>                  degrees=degrees+10;
>
>                  make(degrees);
>
>                  //make(10);
>
>                  android.util.Log.i("ONE","rotating clockwise by
> "+String.valueOf(degrees)+" degrees");
>
>                  android.util.Log.i("DEGREES","current value
> "+String.valueOf(degrees)+" degrees");
>
>                 }
>
>
>
>
>
>          if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN) // rotate anti-clockwise
>
>          {
>
>                   degrees=degrees-10;
>
>                  make(degrees);
>
>                  //make(10);
>
>                  android.util.Log.i("TWO","rotating anti-clockwise by
> "+String.valueOf(degrees)+" degrees");
>
>                  android.util.Log.i("DEGREES","current value
> "+String.valueOf(degrees)+" degrees");
>
>
>
>          }
>
>
>
>          // invalidate();
>
>          return true;
>
>     }
>
>  }
>
>
>  public class Zoom extends View {
>  private Drawable image;
>  private ImageView img;
>  float degrees = 0;
>
>  private int zoomControler = 20;
>
>  public Zoom(Context context) {
>  super(context);
>  image = context.getResources().getDrawable(R.drawable.honeycomb);
>  setFocusable(true);
>
>  }
>
>   @Override
>  protected void onDraw(Canvas canvas) {
>  // TODO Auto-generated method stub
>  super.onDraw(canvas);
>  // here u can control the width and height of the images........ this
>  // line is very important
>  image.setBounds((getWidth() / 2) - zoomControler, (getHeight() / 2)
>  - zoomControler, (getWidth() / 2) + zoomControler,
>  (getHeight() / 2) + zoomControler);
>  image.draw(canvas);
>  }
>
>   @Override
>  public boolean onKeyDown(int keyCode, KeyEvent event) {
>
>  if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT)// zoom in
>  zoomControler += 10;
>  if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) // zoom out
>  zoomControler -= 10;
>   if (zoomControler < 10)
>  zoomControler = 10;
>
>  invalidate();
>  return true;
>  }
> }
>
>
>
>
>  Here any one i.e, either zoom or image rotation is getting well but when
> trying to use both getting error
>
>    --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to