Форум программистов, компьютерный форум CyberForum.ru

Размер рамки изображения по размеру экрана устройства - Android

Восстановить пароль Регистрация
 
dubok79
 Аватар для dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
27.02.2014, 13:17     Размер рамки изображения по размеру экрана устройства #1
Виджет имеет размер 74dp на 74dp - условно, т.е. равносоторнний, но на экране он выглядит вытянутым. Хочется повесить на виджет фотографию и ее по возможности обрезать, но обрезать нужно так, что бы потом на виджете она не растягивалась и не сплющивалась. Как задать рамку обрезки правильно, никак не соображу.

Java
1
2
3
4
cropIntent.putExtra("aspectX", 1);
cropIntent.putExtra("aspectY", 1);
cropIntent.putExtra("outputX", 256);
cropIntent.putExtra("outputY", 256);
Добавлено через 1 час 12 минут
Короче сделал вот так, вроде работает, но не проверял на подводные камни...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
                float koefX = 1f;
                float koefY = 1f;
                Display display = getWindowManager().getDefaultDisplay();  
                Point outSize = new Point();
                if(android.os.Build.VERSION.SDK_INT >= 13){
                    display.getSize(outSize);
                }else{
                    outSize.x = display.getWidth();
                    outSize.y = display.getHeight();
                }
                int rotation = display.getRotation();
                switch(rotation) {
                case Surface.ROTATION_0:
                case Surface.ROTATION_180:
                    koefX=1f;
                    koefY = (float)outSize.y / outSize.x;
                    break;
                case Surface.ROTATION_90:
                case Surface.ROTATION_270:
                    koefX = (float)outSize.x / outSize.y;
                    koefY=1f;
                    break;
                }
                int X = (int)Math.round(dip2px(gd.width)*koefX);
                int Y = (int)Math.round(dip2px(gd.height)*koefY);
 
cropIntent.putExtra("aspectX", koefX);
cropIntent.putExtra("aspectY", koefY);
cropIntent.putExtra("outputX", X);
cropIntent.putExtra("outputY", Y);
Добавлено через 35 минут
Только вот рамка обрезки фото при перемещении ее границ не сохраняет свои пропорции...как бы ее заставить сохранять? Когда aspect был равен по 1, то рамка изменялась с сохранением пропорции
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2014, 13:17     Размер рамки изображения по размеру экрана устройства
Посмотрите здесь:

Определение размеров экрана устройства Android
Android Размер изображения на разных телефонах
Android Как программно взять диагональ экрана андроид устройства?
Размер экрана без шапки Android
Android Физический размер экрана
Как масштабировать нарисованное на холсте по размеру экрана? android.graphics.Canvas Android
Android Как подгонять размер диалоговых окон по размер экрана?
Android Как автоматически изменять размер текста в spinner в зависимости от размера экрана?
Android Как сделать так, чтобы мобильное приложение автоматически подстраивалось под размер экрана?
Android RecyclerView создает Item на размер экрана, как исправить?
Android Изменить размер изображения под телефон
Android Узнать доступные координаты (размер экрана)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 22:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru