如何在android的OpenGL中实现scribble视图?
我有一个android应用程序。我想使用OpenGL渲染我的图像并添加效果。我还想要一个单独的视图,用户可以在其中涂鸦。我希望视图的背景色是透明的。我还想在放大或缩小图像时进行放大和缩小。我想我应该使用如何在android的OpenGL中实现scribble视图?,android,opengl-es,handwriting,Android,Opengl Es,Handwriting,我有一个android应用程序。我想使用OpenGL渲染我的图像并添加效果。我还想要一个单独的视图,用户可以在其中涂鸦。我希望视图的背景色是透明的。我还想在放大或缩小图像时进行放大和缩小。我想我应该使用glScalef()控制放大和缩小。但是当我放大视图时,我还需要增加笔的宽度。我想在openGL中编写这个视图。我不熟悉android和openGL。请把你的想法告诉我。 我尝试了一种不同的方法来实现在glSurfaceView上涂鸦的功能,同时能够放大和缩小。我已经在android提供的画布上完
glScalef()
控制放大和缩小。但是当我放大视图时,我还需要增加笔的宽度。我想在openGL中编写这个视图。我不熟悉android和openGL。请把你的想法告诉我。
我尝试了一种不同的方法来实现在glSurfaceView上涂鸦的功能,同时能够放大和缩小。我已经在android提供的画布上完成了所有的涂鸦。在背景中,我有一个视频。在它上面我有一个潦草的观点(http://www.java2s.com/Code/Android/2D-Graphics/Classforthescribblememopad.htm). 我已将ScribbleView的背景设置为透明。完成涂鸦后,我使用按钮的onClickListener关闭涂鸦(当涂鸦关闭时,用户可以放大和缩小)。我可以使用scalegstruedetector.simpleOnScalegstrueListener放大或缩小。在它的onScale()
中,我使用的是mScaleFactor=(mScaleFactor*detector.getScaleFactor())代码>其中mScaleFactor初始化为1f,mScaleFactor用于跟踪当前缩放因子。对于glSurface的缩放,我使用glScalef(mScaleFactor,mScaleFactor)
,对于画布缩放,我使用canvas.scale(mScaleFactor,mScaleFactor,getWidth()/2,getHeight()/2)
。我已经将轴心点设置到视图的中间,因为画布的坐标使其原点位于左上角。
在我放大或缩小画布后,为了正确的涂鸦,我在Scribble视图的onTouchEvent(事件)中为
event.getX() and event.getY(). <br>
x=(event.getX()- getWidth() / 2) / getmScaleFactor() + getWidth() / 2;<br>
y=(event.getX()- getWidth() / 2) / getmScaleFactor() + getWidth() / 2;<br>
<br>
event.getX()和event.getY()
x=(event.getX()-getWidth()/2)/getmScaleFactor()+getWidth()/2
y=(event.getX()-getWidth()/2)/getmScaleFactor()+getWidth()/2
现在,当我在放大或缩小的画布上涂鸦时,我可以在正确触摸屏幕的地方涂鸦
我希望我能给大家一些关于我的方法的见解
谢谢奎师那