Рекомендации по масштабируемому просмотру одного большого изображения? - PullRequest
3 голосов
/ 03 марта 2010

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

Например, если панорамирование на 100 пикселей вправо, мне нужно знать это, чтобы добавить это смещение ко всем моим элементам.

Хотите знать, что это хороший способ сделать. Должен ли я реализовать это самостоятельно в методе рисования в представлении, которое я реализую? Есть ли какой-то другой стандартный способ сделать это? По сути, это как вид карт Google, только одна большая плитка, но я должен нарисовать свои булавки поверх нее с панорамированием и масштабированием,

Спасибо

1 Ответ

0 голосов
/ 03 июня 2011

Привет, ребята, я пытался несколько месяцев назад безуспешно, наконец-то я просто загрузил изображения в веб-просмотр, включив элементы управления масштабированием, и я смог выполнить панорамирование моего изображения ...

public class PhotoZoom extends Activity  {

    private static final FrameLayout.LayoutParams ZOOM_PARAMS =
        new FrameLayout.LayoutParams(
                ViewGroup.LayoutParams.FILL_PARENT,
                ViewGroup.LayoutParams.WRAP_CONTENT,
                Gravity.BOTTOM);

    private WebView PhotoZoom;
    private long lastTouchTime = -1;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.photo_zoom);                  

        PhotoZoom = (WebView) findViewById(R.id.PhotoZoom);        
        PhotoZoom.setBackgroundColor(Color.BLACK);

        Bundle bundle = getIntent().getExtras();
        String Photoname = bundle.getString("URLPhoto");        
        PhotoZoom.loadUrl("content://com.jorgesys.pan/sdcard/myimages/" +fotoname);  

        WebSettings webSettings = PhotoZoom.getSettings();
        webSettings.setSavePassword(false);
        webSettings.setSaveFormData(false);
        webSettings.setJavaScriptEnabled(true);
        webSettings.setSupportZoom(true);       

        FrameLayout mContentView = (FrameLayout) getWindow().getDecorView().findViewById(android.R.id.content);
        View zoom = PhotoZoom.getZoomControls();

        mContentView.addView(zoom, ZOOM_PARAMS);
        zoom.setVisibility(View.VISIBLE);

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...