Java Android - работа с масштабированием изображения / обрезка программно

Что ж, все это мучает меня долгие недели, я установил для Image 227 пикселей в высоту его масштаб до 170 пикселей, даже если я хочу, чтобы он всегда был wrap_content.

Хорошо. Здесь я беру мое изображение длиной 1950 пикселей (я привожу здесь его часть, чтобы вы могли понять, как оно должно выглядеть).

Во-первых, я хочу уменьшить его до 227 пикселей в высоту, потому что именно так он был спроектирован и каким должен быть

Bitmap bitmapOrg = BitmapFactory.decodeResource(getResources(),R.drawable.ver_bottom_panel_tiled_long);
            int width = bitmapOrg.getWidth();
        int height = bitmapOrg.getHeight();
        int newWidth = 200; //this should be parent's whdth later
        int newHeight = 227;

        // calculate the scale
        float scaleWidth = ((float) newWidth) / width;
        float scaleHeight = ((float) newHeight) / height;

        // create a matrix for the manipulation
        Matrix matrix = new Matrix();
        // resize the bit map
        matrix.postScale(scaleWidth, scaleHeight);

        // recreate the new Bitmap
        Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0, 
                          width, height, matrix, true); 


        BitmapDrawable dmpDrwbl=new BitmapDrawable(resizedBitmap);

    verbottompanelprayer.setBackgroundDrawable(dmpDrwbl);

так что ... это вообще не обрезанное изображение - нет, это 1950 пикселей, сжатых в 200 пикселей.

Но я хочу просто вырезать что-нибудь кроме этих 200 пикселей или любой другой ширины, которую я установлю - обрежьте это и не вдавливайте все это длинное изображение в область 200 пикселей.

Кроме того, BitmapDrawable (Растровое изображение); и imageView.setBackgroundDrawable (drawable); устарели - как я могу это изменить?

Ответы на вопрос(1)

Ваш ответ на вопрос