Этот вопрос может показаться тривиальным и задан много раз, но я не мог найти ответ, который будет работать для меня.Как получить ширину и высоту отображаемого изображения в android?
У меня есть ImageView
и GLSurfaceView
, который нарисован поверх ImageView
, когда я нажимаю кнопку.
Для моего ImageView
Я прохожу Bitmap
и уменьшаю его, чтобы избежать исключения OutOfMemoryError
. Мой ImageView
привязан к другим элементам моего пользовательского интерфейса, поэтому он растягивает изображение, чтобы заполнить ширину/высоту (это то, что я хочу).
Когда я изменяю от ImageView
к GLSurfaceView
я получаю черные участки вокруг моего изображения, которые раньше были прозрачными в моем ImageView
, потому что GLSurfaceView
делает отверстие в UI и работает иначе, чем обычные элементы рисует фон моего изображения в черно-I не нужно, потому что у меня есть собственный фон.
Я пришел с решением, чтобы установить LayoutParams
для GLSurfaceView
программно, и я использую ширину и высоту Bitmap
, но в итоге я получаю меньшее изображение. Мне нужна точная ширина и высота отображаемого изображения - не ImageView
, потому что он имеет прозрачные области.
PS: Я не эксперт по OpenGL, и если у вас есть решение, которое работает в OpenGL, поделитесь им.
)
_______________
| |
| |
|---------------| <-
| transparent |
|---------------| <- Entire
| | ImageView
| Image | need
| | only this
|---------------| <-
| transparent |
|---------------| <-
| |
---------------
б)
_______________
| |
| |
|---------------| <-
| black |
|---------------|
| |
| Image | GLSurfaceView
| |
|---------------|
| black |
|---------------| <-
| |
---------------
Мои ImageView
и GLSurfaceView
:
<android.opengl.GLSurfaceView
android:id="@+id/glsvImageHolder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/horScrollImage"
android:layout_marginBottom="5dp"
android:layout_marginTop="50dp"
android:visibility="invisible" />
<ImageView
android:id="@+id/ivImageHolder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/horScrollImage"
android:layout_marginBottom="5dp"
android:layout_marginTop="50dp"
android:visibility="visible" />
Содержит ли растровое изображение верхнюю и нижнюю прозрачные области? –
Нет, растровое изображение не содержит прозрачных областей. –