Привет друзья
Я создаю одно приложение, где я ставлю два представления. во-первых, это просмотр изображений, а другой - мой обычный просмотр.
Я рисую изображение в моем собственном представлении. мой код пользовательского представления выглядит следующим образом
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);
}
}
}
многое видно из кода, например, сохранение пути в drawapplication и т. Д.
Теперь мы решили обеспечить масштабирование и панорамирование для этого вида. и мой рисунок также должен быть соответственно увеличен вместе с изображением сзади.
также я должен уметь правильно рисовать.
Я пробовал масштабирование холста, но это хуже всего, потому что после масштабирования я не могу рисовать до точки касания, а также меньше рисовать на экране, что приводит к большему количеству рисования для вида.
рисование на виджете также является очень длительной задачей, что приводит к снижению производительности.
Пожалуйста, предоставьте любой способ.
а также я использую API-уровень 10.
Edit1
Ну, друзья. У меня есть одна идея.
Я должен нарисовать путь на другом уровне масштабирования. так что, если мы сможем рассчитать отношение траекторий при другом уровне масштабирования, это решит мою проблему. Пожалуйста, предоставьте помощь соответственно
Edit2
если мы сможем масштабировать путь, то это может решить мою проблему
Edit3
Я думаю, что если мы нарисуем его на растровом изображении, я смогу достичь своей цели, но моя проблема заключается в изменении размера растрового изображения и обеспечении прокрутки на растровом изображении с другим уровнем масштабирования