это 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;
изменить размер другого изображения, чтобы сделать это? я не знаю, но [i] = 0xff000000 что я меняю
ваш вопрос непонятен, можете ли вы добавить более подробную информацию о том, что вы хотите.
тогда ... я должен сделать эту функцию (64, 32, 16) и сделать три imageView, правильно? и [case = 'P'] мне его изменить?
Я хочу три кнопки, и если я нажимаю кнопку «A», отображается изображение размером 64 * 64 пикселей, если я нажимаю кнопку «B», отображается изображение размером 16 * 16 пикселей.
тогда изменение размера изображения при нажатии определенной кнопки будет хорошим вариантом, вам не нужно изменять размер растрового изображения.
о, хорошо, что мне теперь делать? если я исправлю, что [64] числа изменится на [32], это не сработает.
Попробуйте использовать LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(your_width, your_height); ((ImageView) findViewById(R.id.testImageView)).setLayoutParams(layoutParams);. Используйте параметры макета родительского макета вашего изображения.
хамм .... если я использую это, он не может запустить приложение. и не удалось
опубликуйте обновленный код и журнал ошибок.
это не ошибка, но в смартфоне не запускается ..
// 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);
проверьте свой logcat на наличие ошибок.
не ошибка студии Android ...
вы изменяете размер своего растрового объекта, не следует ли вместо этого повторно изменять изображение.