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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
SkN[i]lpl[e][r]
3 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 248
#1

Изображение увиличивается в 2 раза - Программирование Android

31.03.2015, 12:23. Просмотров 334. Ответов 0
Метки нет (Все метки)

Здравствуйте, я на карту вывожу различные метки, в качестве меток беру изображения из res\drawable. При выводе на карту метка с изображением увеличивается в 2 раза, т.е. была размером 32х32 пикселя, а в программе стала 64х64 пикселя. А необходимо чтобы в независимо от размера экрана чтоб размер метки был в оригинале. Вывожу метки на карту я этим методом:
Java
1
Drawable studMarker1 = this.getResources().getDrawable(R.drawable.flag_green);
Не знаю в чем причина такого увеличения

Добавлено через 15 часов 21 минуту
В общем решил заменить через функцию преобразования на эту строчку:
Java
1
Drawable newMarker_start = drawPicture(R.drawable.flag_green);
вот сама функция:
Java
1
2
3
4
5
6
7
 private Drawable drawPicture ( int resource  )
    {
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(),resource);
        bitmap.setWidth(bitmap.getWidth()/2);
        bitmap.setHeight(bitmap.getHeight()/2);
        return new Drawable(bitmap); 
    }
Но почему то в последней строке return new Drawable(bitmap) не хочет возвращать значение, говорит Drawable is abstrakt, cannot be instantiated (Drawable является абстрактным типом и не может быть реализована).

Добавлено через 1 час 14 минут
Столкнулся с интересной штукой
я переделал функцию как надо и по логике она должна правильно работать
Java
1
2
3
4
5
6
private BitmapDrawable drawPicture ( int resource  )
    {
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(),resource);
        Bitmap.createScaledBitmap(bitmap,bitmap.getWidth()/2,bitmap.getHeight()/2,false);
        return new BitmapDrawable(getResources(),bitmap);
    }
Но размер маркеров на карте все равно не уменьшается, какой был, такой и остается. Решил кое что другое сделать:
Java
1
2
3
4
5
private BitmapDrawable drawPicture ( int resource  )
    {
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(),resource);
        return new BitmapDrawable(bitmap);
    }
И, в программе размер маркеров уменьшился в 2 раза как я и хотел Но почему размер уменьшился, я ведь даже нигде не изменял его, хотя напротив в предыдущем варианте должно было сработать...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2015, 12:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изображение увиличивается в 2 раза (Программирование Android):

Увеличить изображение в два раза - C#
Добрый день! Задача: есть изображение, нужно увеличить его в два раза. Пока что просто хочу создать массив из исходного изображения и...

Загрузить изображение по клику 2 раза - JavaScript
вот есть скрипт <a href="#" onclick="document.getElementById('captcha').src='images/pic07.png'; return false;"><img id="captcha"...

Уменьшить изображение в два раза - OpenGL
//Clear the color buffer glClear(GL_COLOR_BUFFER_BIT); //Set the raster position /*The position seems to be...

Увеличить BMP изображение в два раза - C++
Дано задание увеличить 8-битное BMP изображение в два раза. Функцию реализовать в классе. После некоторых размышлений получился сий код=)...

Не записывает в файл (увеличить bmp изображение в 2 раза) - C++
Дано задание увеличить bmp изображение в 2 раза. Написал программу, которая по идее, должна делать сие действие (все в классе), но записи в...

Вызначить радиус 30-ти углов.Площадь первого равняется 3м,а площадь каждого постоянно увиличивается на 2 м - Turbo Pascal
Вызначить радиус 30-ти углов.Площадь первого равняется 3м,а площадь каждого постоянно увиличивается на 2 м. Буду благодарен за помощь.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2015, 12:23
Привет! Вот еще темы с ответами:

Даны числа x, y, z, наименьшее из них увеличить в 2 раза, наибольшее уменьшить в 2 раза - Pascal
надо решить задачу в pascale через if else then. Без массивов Задача: Даны числа x, y, z, наименьшее из них увеличить в 2 раза,...

Если число четное, то уменьшите его в 2 раза, иначе увеличьте в 3 раза - QBasic
Дано натуральное число.если оно четное то уменьшите его в 2 раза,иначе увеличьте в 3 раза

Если число четное, то уменьшите его в 2 раза, иначе увеличьте в 3 раза - PHP
Дано натуральное число Если оно четное то уменьшите его в 2 раза иначе в3 раза??

Максимальное из чисел уменьшить в три раза, а минимальное увеличить в два раза - Turbo Pascal
Пожалуйста нужна срочная помощь. Помогите решить задачу: Составить программу и блок-схему: даны три числа m n k. Максимальное из этих чисел...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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