title: Convert image to bitmap
body: <p>I want to create a bitmap image of particular image but i want to resist the width and height of the bitmapimage. i am using the following code ......</p>
  
  <pre><code>image2  = BitmapFactory.decodeResource(getResources(), rid);
          Log.w("DEBUG","which is null:image i " + i.getWidth() + " OR " +i.getDrawable().getIntrinsicHeight () );
          Log.w("DEBUG","which is null:image h " + h.getWidth() + " OR " +h.getHeight() );
          Log.w("DEBUG","which is null:image2 " + image2.getWidth() + " OR " +image2.getHeight() );
  
       Bitmap image = Bitmap.createScaledBitmap(image2, i.getWidth(), i.getHeight(), false);
          Log.w("DEBUG","which is null:image " + image.getWidth() + " OR " +image.getHeight() );
          double bmWidth = image.getWidth();
            double bmHeight = image.getHeight(); 
            if ( x &lt; 0 || y &lt; 0 || x &gt; getWidth() || y &gt; getHeight()){
                 return 0; //Invalid, return 0 
                }else{
                 //Convert touched x, y on View to on Bitmap
                 int xBm = (int)(x * (bmWidth / getWidth()));
                 int yBm = (int)(y * (bmHeight / getHeight()));
                 return image.getPixel(xBm, yBm); 
  </code></pre>
  
  <p>but it is not returning me the same output ........it is showing me the same width and height but my desired output is not coming. in my desired output height is get large ......so how to overcome that. can nay one suggest me </p>
  
  <p><strong>edited :</strong></p>
  
  <pre><code>this.setDrawingCacheEnabled(true);
  
          // this is the important code :)  
          // Without it the view will have a dimension of 0,0 and the bitmap will be null          
          this.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), 
                      MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
          this.layout(0, 0, this.getMeasuredWidth(), this.getMeasuredHeight()); 
  
          this.buildDrawingCache(true);
          Bitmap image = Bitmap.createBitmap(this.getDrawingCache());
          this.setDrawingCacheEnabled(false);
          //image2  = BitmapFactory.decodeResource(getResources(), rid);
          Log.w("DEBUG","which is null:image i " + i.getWidth() + " OR " +i.getDrawable().getIntrinsicHeight () );
          Log.w("DEBUG","which is null:image h " + h.getWidth() + " OR " +h.getHeight() );
          Log.w("DEBUG","which is null:image2 " + image2.getWidth() + " OR " +image2.getHeight() );
  
  
          Log.w("DEBUG","which is null:image " + image.getWidth() + " OR " +image.getHeight() );
          double bmWidth = image.getWidth();
            double bmHeight = image.getHeight(); 
            if ( x &lt; 0 || y &lt; 0 || x &gt; getWidth() || y &gt; getHeight()){
                 return 0; //Invalid, return 0 
                }else{
                 //Convert touched x, y on View to on Bitmap
                 int xBm = (int)(x * (bmWidth / getWidth()));
                 int yBm = (int)(y * (bmHeight / getHeight()));
                 return image.getPixel(xBm, yBm); 
                }
  }
  </code></pre>
  
  <p>now it is showing me null pointer exception... 
  <strong>stacktrace</strong></p>
  
  <pre><code>05-29 15:22:07.205: E/AndroidRuntime(889): FATAL EXCEPTION: main
  05-29 15:22:07.205: E/AndroidRuntime(889): java.lang.NullPointerException
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.graphics.Bitmap.createBitmap(Bitmap.java:358)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at com.example.nam.ImageIn.getmaskPixel(ImageIn.java:60)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at com.example.nam.AshActivity.getMaskColor(AshActivity.java:192)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at com.example.nam.FirstImage.pageinfo(FirstImage.java:102)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at com.example.nam.FirstImage.onTouch(FirstImage.java:65)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.view.View.dispatchTouchEvent(View.java:3762)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1671)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.app.Activity.dispatchTouchEvent(Activity.java:2086)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1655)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1785)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.os.Handler.dispatchMessage(Handler.java:99)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.os.Looper.loop(Looper.java:123)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at android.app.ActivityThread.main(ActivityThread.java:4627)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at java.lang.reflect.Method.invokeNative(Native Method)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at java.lang.reflect.Method.invoke(Method.java:521)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
  05-29 15:22:07.205: E/AndroidRuntime(889):  at dalvik.system.NativeStart.main(Native Method)
  </code></pre>