Масштабирование и панорамирование в android

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

Я рисую изображение в своем собственном представлении. мой собственный код представления следующий

public class DrawView extends ImageView{
    @SuppressWarnings("unused")
    private static final String TAG = "DrawView";
    Painter painter = new Painter();
    PathStack pathStack;
    private DrawApplication drawApplication;

    public DrawView(Context context, AttributeSet attr) {
        super(context,attr);
        setFocusable(true);
        setFocusableInTouchMode(true);
        drawApplication=(DrawApplication)context.getApplicationContext();
        pathStack=drawApplication.getPainter().getPathStack();
        painter=drawApplication.getPainter();
        setScaleType(ScaleType.MATRIX);

    }

    @Override
    public void onDraw(Canvas canvas) {
        float scaleFactor=drawApplication.getScaleFactor();
        canvas.scale(scaleFactor, scaleFactor,(float)getWidth()/2,(float)getHeight()/2);
        List<DrawingPath> currentStack=pathStack.getCurrentStack();

        for (DrawingPath drawPath : currentStack) {
            drawPath.draw(canvas, painter);

        }

    }
}

, многие вещи ясны из кода, такие как сохранение пути в приложении рисования и т. д.

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

также я должен уметь правильно рисовать.

Я пробовал масштабировать холст, но это хуже всего, потому что после масштабирования я не могу рисовать в точки касания, а также меньше рисования на экране, что приводит к большему рисованию в представлении.

рисование на виджете также является очень длительной задачей, что приводит к снижению производительности. пожалуйста, предоставьте любой способ.

, а также я использую уровень API 10.

Edit1

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

Edit2

, если мы сможем масштабировать путь, тогда это может решить мою проблему

Edit3

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

8
задан Sunil Pandey 14 April 2011 в 14:13
поделиться