#android #opengl-es #view #zooming
#Android #opengl-es #Вид #масштабирование
Вопрос:
Я пытаюсь разработать приложение, которое отображает линии траектории движения с использованием OpenGL. Я хочу увеличить или зумировать содержимое. Создал RelativeLayout и добавил к нему GLSurfaceView и ZoomControls. Теперь в ZoomControls.setOnZoomInClickListener мне нужно написать, как увеличить вид. Для представления нет элементов управления масштабированием. Пожалуйста, помогите мне, если есть способ увеличить изображение. Спасибо..
mGLSView = new GLSurfaceView(this);
final RelativeLayout rl = new RelativeLayout(this);
ZoomControls zc = new ZoomControls(this);
zc.setOnZoomInClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//// ??? WHAT TO DO WITH THE VIEW ?
}
});
zc.setVisibility(View.VISIBLE);
zc.bringToFront();
rl.addView(mGLSView);
rl.addView(zc);
setContentView(rl);
Ответ №1:
Насколько я знаю, вы не можете обрабатывать поверхность GL как холст и масштабировать ее. Таким образом, вам придется снова перерисовать масштабированную версию, используя вызовы GL. Альтернативой было бы рисовать в FBO и отображать масштабированную текстуру на поверхности.