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

Нужно разобраться с зумом изображения - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Номер скачивания http://www.cyberforum.ru/android-dev/thread953020.html
Здравствуйте. Задача узнать номер скачавшего приложение (например на google play) и показать пользователю его номер не выходя из приложения (с помощью браузера, маркета ...). Если подойти к решению задачи чисто логически, то нужен какой то сайт, на который приложение должно посылать какой то сигнал, а сайт фиксировал этот сигнал и отправлял назад в приложение его номер. Но возможно ли это?...
Программирование Android Ресайз фигуры Есть фигура. Квадрат. Отображаю при помощи Path. Path составляю из массива точек. При пинче хочу ресайзить фигуру (делать крупнее, мельче). Как ресайзю сейчас: для каждой точек квадрата (а их четыре) сечу новые X+Y, их вычисляю обычным способом. Проблема: При таком ресайзе фигура уезжает, то есть поскольку x и y все точек увеличивается/уменьшается фигура уезжает. Вопрос: Как надо? http://www.cyberforum.ru/android-dev/thread952964.html
Программирование Android Ошибка при вычитании
6.14 - 6 = 0,1399999..... что за нах? Детали на скрине
TextView тормозит копирование файла Программирование Android
Копирую файл при помощи буферных потоков ввода вывода, прогресс вывожу в диалоге. Код fileProgress.setProgress((int) (publish / onePercent)); tvFileProgress.setText((int) (publish / onePercent)+" %"); первая строка прогресс бар, вторая прогресс в процентах. Если вторую строку закоментить то копирование завершается быстрее=)Это как так)?Расчет там вроде не самый ресурсоемкий. Как...
Программирование Android ТабХост, Вкладки http://www.cyberforum.ru/android-dev/thread952766.html
Добрый вечер Форумчане! Проблема с вкладками,,, Как нажав на кнопку вкладке перейти в следующую вкладку?
Программирование Android Ссылка в Webview на activity Страницы приложения сделанные в HTML отображаются в Webview. Как сделать ссылку-кнопку для открытия activity? Пробую таким образом - ничего не происходит public class TwoActivity extends Activity { WebView myBrowser; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.two); подробнее

Показать сообщение отдельно
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
16.09.2013, 23:56  [ТС]     Нужно разобраться с зумом изображения
haribo, Еще проблема: ограничил максимальный и минимальный зум, всё норм, НО:
Если пытаться уменьшить меньше минимума, то затем чтобы увеличить, нужно проделать тоже количество движений в обратную сторону. То же самое с увеличением. А с технической стороны это выглядит так:
values[Matrix.MSCALE_X] изменяется, не смотря на то, что перед этим стоит:
Lisp
1
2
m.reset();
m.setScale(sx1, sx1);
где sx1 - фиксированное значение. Вот код:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
           public boolean onScale(ScaleGestureDetector detector) {
                try{
 
                saved_gest_scale = newScale;
                newScale *= detector.getScaleFactor();
                scaleFactor = newScale / oldScale;
 
                target_img_width *= 1/scaleFactor;
 
                if (target_img_width > width)//ограничение макс-зума
                    {
                        //fit on screen:
                            m = new Matrix();
                            m.reset();
                            float w_coef = img_width / width;
                            float sx1 = 1/w_coef;
                            m.setScale(sx1, sx1);
                        ///========
 
                        //apply new size
                        float sx2 = target_img_width/width;
                        sx2 = 1/sx2;
                        m.setScale(sx2, sx2);
 
                        float[] values = new float[9];
                        m.getValues(values);
 
                        //center image:
                        float globalX = values[Matrix.MTRANS_X];
                        float globalY = values[Matrix.MTRANS_Y];
                        float wid = values[Matrix.MSCALE_X]*img_width;
                        float heig = values[Matrix.MSCALE_Y]*img_height;
                        m.postTranslate(width/2 - wid/2, height/2-heig/2);
 
                        if (wid <= width)//ограничение мин-зума
                        {
                            newScale = sx1;
                            m = new Matrix();
                            m.reset();
                            m.setScale(sx1, sx1);
                            wid = sx1*img_width;
                            heig = sx1*img_height;
                            debug.setText(wid + "<width" + (int)(width/2 - wid/2) + "mx=" + values[Matrix.MSCALE_X] );
                            m.postTranslate(width/2 - wid/2, height/2-heig/2);//height/2 - heig/2);
                        }
                            iw.setImageMatrix(m);
                    }
 
                oldScale = newScale;
                }catch (Exception xx)
                {
                    debug.setText("detector "+ xx.toString());
                }
                return  true;
            }
Помогите.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru