2015-11-03 2 views
1

По какой-то причине мое растровое изображение не работает. Я нашел ошибку? Когда я пытаюсь создать новое растровое изображение с использованием Матрицы, он говорит, что моя ширина и высота должны превышать 0, что не имеет смысла.Создание растровых изображений не работает

Bitmap tempbmp = Bitmap.createBitmap(image1, 0, 0, newwidth, newheight, matrix, true); 

Я знаю, что может показаться, что я не проводил никаких исследований, и у меня нет смысла. Я пробовал много вещей, включая изменение newwidth и newheight для констант, и он по-прежнему не работает. Вот трассировка дорожки стека, если это помогает

11-03 18:32:00.700: E/AndroidRuntime(9113): java.lang.IllegalArgumentException: width and height must be > 0 
11-03 18:32:00.700: E/AndroidRuntime(9113):  at android.graphics.Bitmap.createBitmap(Bitmap.java:603) 
11-03 18:32:00.700: E/AndroidRuntime(9113):  at android.graphics.Bitmap.createBitmap(Bitmap.java:551) 
11-03 18:32:00.700: E/AndroidRuntime(9113):  at com.ajayinkingston.antiverse.Level.tick(Level.java:291) 
11-03 18:32:00.700: E/AndroidRuntime(9113):  at com.ajayinkingston.antiverse.Logic.tick(Logic.java:65) 
11-03 18:32:00.700: E/AndroidRuntime(9113):  at com.ajayinkingston.antiverse.GameView.run(GameView.java:142) 
11-03 18:32:00.700: E/AndroidRuntime(9113):  at java.lang.Thread.run(Thread.java:856) 

Я пытаюсь создать вращающийся портал. Я хотел, чтобы матрица транслировалась, вращалась и масштабировалась, но я не работал так. Я решил снять перевод и просто сделать изображение, а затем нарисовать изображение. Матрица создается здесь:

matrix.reset();    
matrix.setScale((newwidth)/image1.getWidth(), (newheight)/image1.getHeight()); 
matrix.postRotate(rotation, image1.getWidth()/2 + x, image1.getHeight()/2 + y); 

Значения newwidth и newheight не имеют значения, поскольку эта ошибка возникает с константами.

+2

Так каковы значения image1, newwidth, newheight и matrix перед вызовом? –

+1

oh sorry полностью забыл добавить добавит прямо сейчас. – Ajay

ответ

0

Я не мог понять, почему. Поэтому я решил сделать это по-другому. Я удалил matrix.setScale() и только что использовал bitmap.createScaledBitmap().

1

Проверено код Bitmap.java То исключение произошло, если image1width или height является 0.

обны. или матрица пуста.

https://github.com/android/platform_frameworks_base/blob/master/graphics/java/android/graphics/Bitmap.java#L680

+0

ok Я проверю это. Нет изображения image1 должно быть 0. – Ajay

+0

согласитесь, это не источник. В случае проблем с параметрами высоты или ширины высоты будет существовать другой текст исключения. Похож на проблему с матрицей. – Rumoku

+0

Я добавил загрузку матрицы. Ничто не кажется неправильным. Сброс вызывает что-то не так? – Ajay

Смежные вопросы