ImageView пиксель

это imageView студии Android, и я хочу исправить их с 64 * 64 пикселей до 32 * 32 пикселей и 16 * 16 пикселей.

    protected  void recieveMessage(Message msg) {
        super.recieveMessage(msg);
        ConnectionData data = (ConnectionData)msg.obj;
        switch(data.getCommand()) {
            case 'P' :
                int[] buf = new int[64*64];
                byte[] imb = data.getData();
                Bitmap temp = null;
                for(int i = 0; i< 64*64; i++) {
                    buf[i] = 0xff000000   |
                            (imb[i] & 0xff) << 16 |
                            (imb[i] & 0xff) << 8 |
                            (imb[i] & 0xff);
                }

                temp = Bitmap.createBitmap(buf,64,64,Bitmap.Config.ARGB_8888);
                temp = Bitmap.createScaledBitmap(temp,  IMAGE_SIZE_X, IMAGE_SIZE_Y, true);

                ((ImageView) findViewById(R.id.testImageView)).setImageBitmap(temp);
                sended = false;
                break;
        }
    }

IMAGE_SIZE_X = 256;
IMAGE_SIZE_Y = 256;

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

karan 29.10.2018 07:11

изменить размер другого изображения, чтобы сделать это? я не знаю, но [i] = 0xff000000 что я меняю

user9803735 29.10.2018 07:25

ваш вопрос непонятен, можете ли вы добавить более подробную информацию о том, что вы хотите.

karan 29.10.2018 07:26

тогда ... я должен сделать эту функцию (64, 32, 16) и сделать три imageView, правильно? и [case = 'P'] мне его изменить?

user9803735 29.10.2018 07:30

Я хочу три кнопки, и если я нажимаю кнопку «A», отображается изображение размером 64 * 64 пикселей, если я нажимаю кнопку «B», отображается изображение размером 16 * 16 пикселей.

user9803735 29.10.2018 07:33

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

karan 29.10.2018 07:37

о, хорошо, что мне теперь делать? если я исправлю, что [64] числа изменится на [32], это не сработает.

user9803735 29.10.2018 08:21

Попробуйте использовать LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(your_width, your_height); ((ImageView) findViewById(R.id.testImageView)).setLayoutParams(layoutPara‌​ms);. Используйте параметры макета родительского макета вашего изображения.

karan 29.10.2018 08:24

хамм .... если я использую это, он не может запустить приложение. и не удалось

user9803735 29.10.2018 08:33

опубликуйте обновленный код и журнал ошибок.

karan 29.10.2018 08:34

это не ошибка, но в смартфоне не запускается ..

user9803735 29.10.2018 08:35

// temp = Bitmap.createBitmap (buf, 64,64, Bitmap.Config.ARGB_8888); LinearLayout.LayoutParams layoutParams = новый LinearLayout.LayoutParams (32, 32); ((ImageView) findViewById (R.id.testImageView)). SetLayoutParams (layoutPara‌ ms); // temp = Bitmap.createScaledBitmap (temp, IMAGE_SIZE_X, IMAGE_SIZE_Y, true); // ((ImageView) findViewById (R.id.testImageView)). SetImageBitmap (temp);

user9803735 29.10.2018 08:36

проверьте свой logcat на наличие ошибок.

karan 29.10.2018 08:40

не ошибка студии Android ...

user9803735 29.10.2018 08:44
0
14
45
0

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