草庐IT

Canvas-EventSystem-Panel

全部标签

android - 如何使用 Canvas 绘制带有背景颜色的文本

我有一些代码可以在位图(Canvas)上绘制文本canvas.drawTextOnPath(Text,textPath[count],gipa,-10,text);请告诉我,可以用背景色在路径(textPath)中绘制这段文字吗?仅绘制文本的完整功能publicvoiddrawText(floatx,floaty,StringText,Canvascanvas,Paintpaint1,intcount){floatxren=text.measureText(Text.trim());canvas.drawTextOnPath(Text,textPath[count],gipa,-10,

android - 使用 Canvas 获取文本的高度和宽度

我正在开发Android2.2应用程序。我正在使用此方法在View中绘制文本:publicvoiddraw(Canvasc){p.setColor(Color.WHITE);if(name!=null)c.drawText(name,getLeft(),getTop(),p);}如何获取名称文本的高度和宽度?如果我这样做(p是一个Paint对象):p.getTextBounds(name,0,name.length(),bounds);我得到Withname='Loading',bounds=Rect(1,-10-42,3);。我不知道为什么我会得到这个奇怪的矩形。有什么线索吗?这是我

android - Canvas 的大小

我有一个Android应用程序,它有几个fragment。在其中一个fragment中,有一个字母,自定义View,两个带按钮的面板。在自定义View(第2项)中,我需要绘制几个图形,其中一个与View的大小相关,即。e.应该有一个圆角矩形,其大小等于Canvas的大小减去填充。为此,我需要获取Canvas的宽度和高度。我尝试了以下操作:在方法onSizeChanged中获取View的尺寸(新的宽度/高度)。在onLayout方法中获取View的尺寸。在onDraw方法中获取View的尺寸(canvas.getWidth()/getHeight(),View.getMeasuredWi

android - 在 Android Canvas 上应用缩放效果后缩放位置错误

首先,这是最初在这里提出的后续问题,Pan,ZoomandScaleacustomViewforCanvasdrawinginAndroid由于还没有答案,我终于使用android-gesture-detectors解决了我的问题应用缩放/缩放手势后,我发现Canvas绘图坐标仍指向旧位置(应用缩放之前),而不是在完全相同的触摸坐标上绘图。基本上,缩放或拖动Canvas后我无法获得正确的Canvas坐标。缩放前,缩小后,触摸点绘制在之前的位置上。我想让它在当前的触摸位置上绘制,示例代码,publicclassDrawingViewextendsView{privatevoidsetup

android - 如何通过Canvas DrawBitmap绘制位图的一部分

我有一个:FrameLayout(标红)源ImageView(黑色)带有OnTouchListener(橙色)的对象(ImageView)通过带有OnTouchListener的Object,我想显示一部分位图,这些位图填充在imageview(sourceimageview)上。所以这不是问题,我这样做:位图bt=Bitmap.createBitmap(sourceBitmap,event.getX(),event.getY(),250,250);哪里:SourceBitmap-是添加到源ImageView的图像event.getX()/event.getY()是一个坐标,我开始绘制

android - 使用 Canvas 在弧内绘制文本

我正在一个android应用程序中工作以绘制一个圆圈并将它们平均划分并将文本绑定(bind)到圆圈的划分部分内(如图片)。我画了一个圆圈并将它们平均分割,但我想在分割的部分内绑定(bind)文本。请查看我的代码并给出解决方案。提前致谢。publicclassMainActivityextendsActivity{/**Calledwhentheactivityisfirstcreated.*/floatvalues[]={130,130,130,130,130};@OverridepublicvoidonCreate(BundlesavedInstanceState){super.on

android - setDither、setFilterBitmap 和 setAntiAlias 在 Canvas 中的作用是什么?

通常我看到的示例,在尝试在Canvas上绘制位图时使用此方法。Forexample:paint.setAntiAlias(true);paint.setFilterBitmap(true);paint.setDither(true);但我不知道这三个方法有什么作用?什么时候必须用到它们? 最佳答案 来自docPaint.setAntiAliasHelperforsetFlags(),settingorclearingtheANTI_ALIAS_FLAGbitAntiAliasingsmoothsouttheedgesofwhatis

Canvas.clipPath 中的 Android UnsupportedOperationException

我正在使用此处的图像裁剪库https://github.com/lvillani/android-cropimage在我的项目中裁剪存储在设备上的图像。但是,某些用户使用以下堆栈跟踪报告崩溃java.lang.UnsupportedOperationExceptionatandroid.view.GLES20Canvas.clipPath(GLES20Canvas.java:413)atcom.android.camera.HighlightView.draw(HighlightView.java:101)atcom.android.camera.CropImageView.onDra

Android 绘图按钮到带有自定义 View 的 Canvas ?

如何在自定义View中的Canvas顶部绘制按钮?(最好在中间右侧)在执行button.draw(canvas)之前我必须调用什么吗?publicclassMyClassextendsView{publicSimulation(Contextcontext){super(context);pauseButton.setText("TestButton");pauseButton.setClickable(true);pauseButton.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewv){Log.i(TAG

android - 在 Canvas 上平铺位图

我想为我通过Canvas绘制的位图创建一个“方格纸”外观,并试图找出执行此操作的最佳方法。我无法将包含方格纸背景的源位图传递给Canvas构造函数,因为我正在通过.lockCanvas()调用在SurfaceView中获取Canvas。我尝试过的一些解决方案:我已经尝试实现thissolution在我的SurfaceView的Thread.run()中,但我认为问题是当BitmapDrawable转换为位图时...它失去了平铺属性。canvas=mSurfaceHolder.lockCanvas(null);BitmapDrawableTileMe=newBitmapDrawable(