Почему размер растрового изображения меняется на другом экране?

Я конвертирую текст в растровое изображение с помощью этого метода:

 private Bitmap textToBitmap(String text)
{
    Bitmap myBitmap = Bitmap.createBitmap(400, 50, Bitmap.Config.ARGB_4444);
    Canvas myCanvas = new Canvas(myBitmap);
    Paint paint = new Paint();
    Typeface clock = Typeface.createFromAsset(context.getAssets(),"fonts/myfont.ttf");
    paint.setAntiAlias(true);
    paint.setSubpixelText(true);
    paint.setTypeface(clock);
    paint.setStyle(Paint.Style.FILL);
    paint.setColor(Color.WHITE  );
    paint.setTextSize(38);
    paint.setTextAlign(Paint.Align.RIGHT);
    myCanvas.drawText(text, 400, 30, paint);
    return myBitmap;
}

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

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

Tim Biegeleisen 18.09.2018 07:30
very small and in other its very Big откуда ты это знаешь? как проверить его размер?
Vladyslav Matviienko 18.09.2018 07:30

@VladyslavMatviienko установи мое приложение на другой телефон

Hreza779 18.09.2018 07:38

при этом не будет отображаться размер изображения. как узнать размер изображения и где он отличается? ты это показываешь, или как?

Vladyslav Matviienko 18.09.2018 07:40

@VladyslavMatviienkoi покажи это в Imageview

Hreza779 18.09.2018 07:43

хорошо, а как установить размер imageView?

Vladyslav Matviienko 18.09.2018 07:46
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
6
70
1

Ответы 1

Bitmap myBitmap = Bitmap.createBitmap(400, 50, Bitmap.Config.ARGB_4444);//its unit is px, practical size of 1 px is different in various device.

Вы должны изменить размер растрового изображения в соответствии с устройством scaledDensity, здесь хорошее решение

Другие вопросы по теме