Как создать увеличенное изображение из существующего изображения - PullRequest
0 голосов
/ 10 февраля 2012

У меня есть одно растровое изображение.Как мне создать большее растровое изображение программно?Я попытался создать scaleBitMap, но он больше не отображается.

int newHeight=900;
Bitmap bg1=Bitmap.createScaledBitmap(bg, width, newHeight, false);
canvas.drawBitmap(bg1, null, new Rect(0, 0, getWidth(), newHeight), null);

Как мне решить эту проблему?

Ответы [ 4 ]

2 голосов
/ 10 февраля 2012

Может быть, вы должны попробовать это вместо:

int newHeight=900;
int newWidth= bg.getWidth;
Bitmap bg1=Bitmap.createScaledBitmap(bg, newWidth, newHeight, true);

всегда стоит попробовать

1 голос
/ 12 сентября 2017
private Bitmap resizeBitmap(Bitmap bitmap, float scaleHeight, float scaleWidth)
{
    int width = bitmap.getWidth();
    int height = bitmap.getHeight();

    int newWidth = (int)(width * scaleWidth);
    int newHeight = (int)(height * scaleHeight);

    return Bitmap.createScaledBitmap(bitmap, newWidth, newHeight, true);
}
0 голосов
/ 10 февраля 2012

Попробуйте этот код ...

public Bitmap getResizeBitmap(Bitmap bitmap, int newHeight, int newWidth)
        {

            int width = bitmap.getWidth();
            int height = bitmap.getHeight();

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

            Matrix matrix = new Matrix();
            matrix.postScale(scaleWidth, scaleHeight);
            Bitmap resizeBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);

            return resizeBitmap;

        }

тогда в методе onCreate используйте это ...

myImage = Bitmap.createBitmap(BitmapFactory
                    .decodeResource(this.getResources(), R.drawable.mypic));

            myImage.setDensity(1);

            imageview = (ImageView)findViewById(R.id.imageViewId);
            imageview.setImageBitmap(getResizeBitmap(myImage,195, 480));//as per as your requirement
0 голосов
/ 10 февраля 2012

Bitmap.createScaledBitmap () делает то, что вы хотите, проблема в том, что вы пытаетесь нарисовать его на холсте. Что возвращает getWidth ()? Разместите оставшуюся часть кода, чтобы получить некоторый контекст, и мы сможем найти вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...