草庐IT

Wxml2Canvas

全部标签

android - 在 Android 中使用 Canvas 和位图,如何获取此图像?

我是安卓新手。我正在尝试绘制此图像(匹配统计)并用10%到100%的颜色填充图像。我试了这么多,这是图像这是代码publicclassDrawViewextendsView{Paintpaint=newPaint();publicDrawView(Contextcontext){super(context);}@OverridepublicvoidonDraw(Canvascanvas){paint.setColor(Color.BLACK);paint.setStrokeWidth(3);canvas.drawRect(30,30,100,100,paint);paint.setSt

android - 为什么 canvas 和 onDraw 中的 view 大小不一样? (安卓)

我试过这个@OverrideprotectedvoidonDraw(Canvascanvas){Log.e("TEST","canvaswidth:"+canvas.getWidth()+"");Log.e("TEST","viewwidth:"+this.getWidth()+"");Log.e("TEST","canvasheight:"+canvas.getHeight()+"");Log.e("TEST","viewheight:"+this.getHeight()+"");super.onDraw(canvas);Log.e("TEST","canvaswidth:"+can

android - 缩放 Canvas 并保持居中

我想缩放画有位图的Canvas。我能够缩放Canvas,但绘制在其上的位图分别移动到左上角和右下角。@OverrideprotectedvoidonDraw(Canvascanvas){canvas.translate(mPosX,mPosY);canvas.scale(mScaleFactor,mScaleFactor);//drawbitmap}在过去的几天里,我尝试了许多不同的方法,从操纵平移坐标到轴心点以进行缩放。但对我没有任何作用。我很确定我的问题一定有一个简单的解决方案。提前致谢 最佳答案 正如您提到的,枢轴点是执行此操

android如何旋转 Canvas 矩形

我创建了一个特定大小的矩形,现在我想将它旋转45度,我使用了canvas.rotate、matrix,但没有用。在android中旋转Canvas的正确方法是什么?我很好奇Path.Direction.CW,它用于旋转吗?但我在Path()中没有看到任何旋转功能paint.setAntiAlias(true);paint.setStrokeWidth(2);paint.setColor(Color.BLUE);paint.setAlpha(75);Pathpath=newPath();path.addRect(166,748,314,890,Path.Direction.CW);can

android - 垂直翻转 Android Canvas

有没有简单的方法可以在Android中翻转Canvas?我似乎找不到任何允许我垂直翻转它的东西,以便y轴上的零是电话屏幕的底部而不是顶部。如果解决方案不是特别快也没关系,因为我没有对Canvas进行任何计算密集型操作。提前致谢。 最佳答案 尝试canvas.scale(1f,-1f,width/2f,height/2f)参见Canvas.scale文档。前两个参数是缩放量。 关于android-垂直翻转AndroidCanvas,我们在StackOverflow上找到一个类似的问题:

Android - Canvas.clipRect() - 删除现有剪辑

我有一个Canvas对象,在某些时候我设置了一个剪辑,这样我就可以在那个“窗口/部分”中绘图,而不用担心溢出到Canvas的其他部分。在我完成绘制到“窗口”后,我想删除那个剪辑区域,但我似乎做不到。没有删除剪辑功能,当我尝试在整个Canvas上应用新剪辑时,该剪辑未被应用-在应用新剪辑返回后立即调用canvas.getClipBounds()Rect与上一个剪辑。 最佳答案 在设置裁剪矩形之前使用canvas.save()然后使用canvas.restore()丢弃裁剪矩形。 关于And

android - 使用 drawBitmap 在 Canvas 上绘制 9-patch 图像

在自定义View上使用9-patch图像资源的正确方法是什么?我这样做:background=BitmapFactory.decodeResource(getResources(),R.drawable.fundo_bookshelf);canvas.drawBitmap(background,null,newRect(0,y,width,y+backgroundHeight),null);fundo_bookshelf是一个合适的9-patch图片,保存为fundo_bookshelf.9.png,见下图:但是当使用drawBitmap时,整个图像被拉伸(stretch),而不是只有

android - Canvas 绘制文字方向

如何让文字竖写?如何将文字旋转90度?单独写每个字母是愚蠢的,但现在,我不知道其他方法。Paintpaint=newPaint();publicDrawView(Contextcontext,doublearr[]){super(context);paint.setColor(Color.BLACK);}@OverridepublicvoidonDraw(Canvascanvas){canvas.drawText("Test",50,50,paint);} 最佳答案 简单地旋转文本(或其他任何内容)很容易:使用rotate()旋转C

android - 在 Canvas 上绘制时自定义路径线条样式

我目前正在研究map覆盖,突出显示沿指定点的路线,我需要实现特定的线条样式(类似于屏幕截图)我想做的是用透明线之类的东西突出路线,两侧都有黑色描边线到目前为止,尝试使用不同的填充样式和Paint设置还没有找到任何解决方案。有人知道我需要寻找什么方向吗?目前我只画了实线,但这不是我要找的:绘画设置:mPaint.setStyle(Paint.Style.STROKE);mPaint.setColor(COLOR_DEFAULT);mPaint.setPathEffect(newCornerPathEffect(10));mPaint.setStrokeWidth(6);mPaint.se

android - 使用 Canvas 垂直和水平居中文本

我试图水平和垂直对齐位图中的文本,我阅读了几篇文章,但找不到解决方案。位图是一个简单的圆圈图像。我发布我当前的代码。或多或少它工作但文本不是完全居中,它似乎有点在左边和顶部,我的意思是我的意思是我似乎必须添加一个偏移量才能将它移动到右侧和底部。publicstaticfloatconvertDpToPixel(floatdp,Contextcontext){Resourcesresources=context.getResources();DisplayMetricsmetrics=resources.getDisplayMetrics();floatpx=dp*(metrics.de