草庐IT

canvas2d

全部标签

android - 在 Android Canvas 上旋转位图

我有一些对象作为SurfaceView的一部分绘制到Canvas上。我希望能够以编程方式旋转这些,例如myParticle.setRotation(90);这是我目前用来绘制粒子的(简化的)代码:publicclassParticle{publicvoiddraw(Canvascanvas){image.setBounds((int)(xPos),(int)(yPos),(int)(xPos+radius),(int)(yPos+radius));image.draw(canvas);}} 最佳答案 对我来说,这样做似乎更干净:Ma

Android:如果从通知栏恢复应用程序,则绘制的 Canvas 油漆消失了

我正在开发一个绘图应用程序,想从通知栏恢复Activity。经过研究,我添加了从通知栏恢复(而不是创建)的代码,如下所示。Doodlz2@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);this.requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.main);//inflatethelayoutgenerateNotification(Doodlz2.this,get

android - 如何在 Canvas 上获取文本输入?

我是Android世界的新手,我遇到了一个非常烦人的问题。在我的程序中,我使用AndroidCanvas。我想添加一个EditText元素或类似元素来获取用户文本输入。你能帮我找到解决这个问题的方法吗?感谢您的回答。 最佳答案 最初,您不能在Canvas上放置任何编辑文本或按钮。相反,您必须绘制它。因此,创建一个自定义布局并使用Canvas绘制该布局试试这个,它可能对你有帮助。在onDraw(..)中LinearLayoutlL=newLinearLayout(context);EditTexteditTextView=newEdi

android - 如何在 canvas android 中设置验证?

我正在开发Canvas应用程序,我创建了一个带有颜色选择器、撤消、重做和清除功能的Canvas,它也工作正常。现在,我想验证用户当前是否在背景线上绘制一条线在Canvas上。例如,我有一个带虚线的背景图像,现在我想让用户在虚线上画画,我必须验证它是否正确?是否可以在canvas中使用?我该如何处理?有人可以就此提出任何建议,这将真正帮助我继续我的应用程序的下一步,我的代码在这里,publicclassHomeScreenextendsActivityimplementsColorPickerDialog.OnColorChangedListener{publicintwidth;pub

android - Canvas.drawTextOnPath(...) 不适用于 Lollipop

canvas.DrawTextOnPath似乎不适用于Lollipop设备。看看这里的区别。(连结10图片正确,但Lollipop显示不正确)代码是一个简单的路径绘制。//PathfortheinnercircleunitPath=newPath();unitPath.addArc(unitRect,180.0f,180.0f);//Drawthetextandthepathcanvas.drawTextOnPath("InnerCircle",unitPath,0.0f,0.0f,unitPaint);canvas.drawPath(unitPath,unitPaint);任何想看的

android - Canvas.drawText() 不会在 Android 上呈现大型表情符号

Canvas.drawText()不会在Android上呈现超过特定字体大小的表情符号。正确渲染低于256像素的地方:256像素以上的渲染不正确:(有一个关于GoogleChrome的similarquestion,就像Android一样,Chrome也使用Skia图形库,所以这看起来像是Skia中的一个错误。)显然表情符号无法在我的设备上呈现超过256像素的字体大小。但我不确定这是否是所有地方的限制。有没有办法了解表情符号消失时的字体大小?或者有解决方法吗? 最佳答案 我想出了一个测试(经验估计)来测试仍然可以呈现表情符号的最大字

Android Opengl ES : GLUtils. glTexImage2D 导致 GL_INVALID_ENUM

我正在尝试使用GLSurfaceView在Android2.2上渲染一个简单的纹理四边形。我正在使用BitmapFactory.decodeResource()加载BMP图像(128x128)-这似乎有效。但是每当我尝试使用GLUtils.glTexImage2D将此位图放入OpenGL纹理时,我都会收到OpenGL错误:glGetError()返回1280,GL_INVALID_ENUM.我究竟做错了什么?这是我的渲染器的代码:publicclassMyRendererimplementsGLSurfaceView.Renderer{Contextcontext;inttexId;p

java - 如何设置 Canvas 大小?

我有一个名为SeatsPanel的类,我在其中使用onDraw方法绘制座位(使用drawRect)。onDraw方法使用Canvas作为参数,但是如何设置Canvas的大小呢?我问这个问题的原因是因为这个类在另一个类中被夸大了。我知道Canvas有手机默认的高度和宽度,但我需要把它变小。我该怎么做?如有任何帮助,我们将不胜感激。 最佳答案 我尝试实现一个简单的应用程序,它在主要Activity中绘制一个黑色矩形,通过按下按钮绘制。例如,在MainActivity中:privateButtonbutton1;publicvoidonC

android - 来自 Canvas.setBitmap(Bitmap) 的 UnsupportedException

我正在创建一个应用程序,它可以在用户控制下进行绘图等操作,并让他们保存它。我尝试实现此目的的方法是使用Canvas在其上绘制的自定义位图,然后保存生成的位图。一切都按预期工作,直到调用Canvas.setBitmap(Bitmap)。我收到以下错误。03-2413:47:50.741:E/AndroidRuntime(27888):FATALEXCEPTION:main03-2413:47:50.741:E/AndroidRuntime(27888):Process:example.imageeditor,PID:2788803-2413:47:50.741:E/AndroidRunt

java - 在 Canvas 和多个绘画对象上绘图

我正在尝试制作一个应用程序,用户可以选择模糊图像或可以选择在屏幕上绘画(用户也可以在一个Canvas上执行这两项操作)。我已经很好用了,但是,在模式从模糊更改为绘画或反之亦然后,我在第一次绘制时遇到了一个奇怪的问题。请看下图。绘画模式垂直绘制的路径是当用户选择了绘画模式时。如您所见,第一条路径包含来自模糊绘画对象和绘画对象(带有红色描边)的绘画。绘制的任何后续路径现在都可以正常工作。模糊模式同样可以看到,在绘制了两条垂直路径后,用户将模式切换为模糊并在此模式下绘制水平路径。这次类似于上面的第一条路径是两个绘画对象的混合,后续路径工作正常。请查看下面发布的代码,如果您能提出可能导致问题的