草庐IT

Canvas-EventSystem-Panel

全部标签

Android 4.0 与 Canvas.clipPath 的兼容性问题

最近我的应用程序收到了很多评论,说“它在带有CM9的AndroidIceCreamSandwich上不工作”。我无法在运行Android4.0的模拟器上重现错误,并且由于androidmarket的工作方式,我无法联系那些人询问详细信息。幸运的是,一份崩溃错误报告引起了我的注意。我正在使用Canvas.clipPath绘制圆角...看起来有些手机在尝试使用该功能时抛出UnsupportedOperationException。快速查看Google发现在Android4.0中使用硬件加速时似乎存在问题-因此这是收到评论的潜在原因。问题是-发生了什么事?在以前的Android版本中,应用程

android - 捕获部分 Canvas 以将其用作位图

我正在做一件事情,我想把Canvas的一部分用作位图.在这里我附上了图片。我想要一个矩形的位图核心(它有Stork)这是我的程序的算法。1:创建Canvas。2:在Canvas上画一个颜色选择器。3:在Canvas上画一个矩形。现在我想将这个矩形用作位图..那么有什么方法可以使用Canvas捕捉位图吗?(我听说过Pictureclasstocaptureacanvas,我不知道它与这个场景相关). 最佳答案 所有Canvas都是位图的包装器,它公开了有用的绘图功能。因此,您可以创建一个带有位图的Canvas,然后对该位图调用crea

android - 如何从 Canvas 上删除路径区域 (Android)

我需要在ImageView上裁剪边角。不要将它们弄圆,而是从每个角上删除三角形。似乎唯一的方法是覆盖onDraw方法并使用Path从Canvas上删除这些区域。问题是我没有纯色背景,所以我需要删除这些区域而不是用一些颜色填充它们。我为此使用了以下代码:@OverrideprotectedvoidonDraw(Canvascanvas){Pathpath=newPath();path.moveTo(0,0);path.lineTo(20,0);path.lineTo(0,20);path.close();Paintpaint=newPaint();paint.setAntiAlias(t

android open gl真的比canvas慢吗?

我正在测试androidSpriteMethodTest,在默认设置下,canvas的帧率为58fps,而opengl的帧率为50-55fps,而且Sprite越多,差距就越大。我的印象是opengl比canvas快,这是错误的吗?还是他们的手机有问题(htcdesire)?http://code.google.com/p/apps-for-android/source/browse/trunk/SpriteMethodTest/ 最佳答案 需要注意的是,SpriteMethodTest并未以最高效率使用OpenGL。每个sprit

Java (Android) 在 Canvas 上插入图标

所以我有自定义View,我在Canvas上绘制。我想在Canvas上添加图标或一些图像。我试过canvas.setBackgroundResource(R.drawable.image_name)这里的问题是我的图标被调整大小以适合屏幕,我无法控制调整大小或缩放图像。也许我可以获得Canvas的高度和宽度,然后使用未缩放的图标创建可绘制/位图并用一些颜色填充背景?谁能指出我正确的方向? 最佳答案 Drawableicon=getResources().getDrawable(R.drawable.image_name);icon.s

android - 在 Canvas 上绘制鼠形 (Android)

这是我用来在Canvas上绘制圆形(然后在其上绘制图标位图)的方法:privatestaticBitmapmakeIcon(intradius,intcolor,Bitmapicon){finalBitmapoutput=Bitmap.createBitmap(radius,radius,Bitmap.Config.ARGB_8888);finalCanvascanvas=newCanvas(output);finalPaintpaint=newPaint();paint.setAntiAlias(true);paint.setColor(color);canvas.drawARGB(

android - 在 Android 上的 Paint 和 Canvas 中更改颜色

如果这个问题很愚蠢,我很抱歉,但我是Android的新手。我在developer.android.сom上阅读了很多,但不幸的是没有找到解决我的问题的方法。我在staсkoverflow上找到的大部分代码,都是自己完成的。此View插入到FrameLayout中的Activity中,覆盖文本,并允许您在电子书中留下笔记。importjava.util.ArrayList;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Color;importandroid.graphi

android - 如何更新 Canvas 绘制文本而不是重绘 Canvas

我现在可以在运动View的Canvas上绘制文本,问题是当我绘制文本并在同一Canvas上进行下一次绘制时,我的绘制文本正在消失,我的意思是屏幕正在重绘,因为我想要无效保留我以前的绘图并在同一Canvas上绘制新绘图我要怎么做?@OverrideprotectedvoidonDraw(Canvascanvas){Painthint=newPaint();path=newPath();mTextPaths=newArrayList();Log.v("gettingmtextpaths",mTextPaths.toString());intm;if(strgettile!=null){fo

android - 将 SurfaceView 中的 Canvas 缩放到大于屏幕尺寸的尺寸

我正在制作一个新应用,并且正在使用Canvas。我正在缩放Canvas,但我将大小设置为:publicstaticfinalintWIDTH=1920;publicstaticfinalintHEIGHT=1080;(屏幕将是横向的。这就是宽度大于高度的原因)意思是如果这个应用程序是为纵向设计的:publicstaticfinalintWIDTH=1080;publicstaticfinalintHEIGHT=1920;按Canvas通常的比例缩放:publicvoidrender(Canvasc){super.draw(c);finalfloatscaleFactorX=getWid

android - 如何将 AdMob 绘制到 Canvas 上?

我在让AdMob出现在我的Canvas上时遇到了问题。我的代码如下所示。layout=newLinearLayout(getContext());adView=newAdView((Activity)getContext(),AdSize.BANNER,"############");layout.setLayoutParams(newLayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));adView.setVisibility(View.VISIBLE);layout.addView(adView);Te