Code example for Bitmap

Methods: copygetHeightgetPixelsgetWidthrecycle

    public Bitmap apply(Bitmap bitmap, float scaleFactor, boolean highQuality) {
        // TODO: implement bilinear or bicubic here... for now, just use 
        // canvas to do a simple implementation... 
        // TODO: and be more memory efficient! (do it in native?) 
        Bitmap temp = bitmap.copy(mConfig, true);
        Canvas canvas = new Canvas(temp);;
        Rect bounds = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
        float w = temp.getWidth();
        float h = temp.getHeight();
        float mw = temp.getWidth() / 2.0f;
        float mh = temp.getHeight() / 2.0f;
        canvas.scale(mZoomFactor, mZoomFactor, mw, mh);
        canvas.rotate(mRotation, mw, mh);
        canvas.drawBitmap(bitmap, bounds, bounds, new Paint());
        int[] pixels = new int[(int) (w * h)];
        temp.getPixels(pixels, 0, (int) w, 0, 0, (int) w, (int) h);
        bitmap.setPixels(pixels, 0, (int) w, 0, 0, (int) w, (int) h);
        temp = null;
        pixels = null;
        return bitmap;