草庐IT

canvas_comment

全部标签

android - 如何在 View.DragShadowBuilder.onProvideShadowMetrics 中定位 Canvas

我有一个要求,可拖动View需要将阴影最初直接放置在View顶部-也就是说,它覆盖整个View而不是与触摸点相关。我一直在尝试各种方法来使它与我的View.DragShadowBuilder子类一起使用,但没有成功。我希望使用drawRect允许我指定矩形点,以便将其绘制在与我的View相同的矩形中,但这导致没有Canvas被绘制。但是,仅使用canvas.drawColor(Color.CYAN)绘制矩形,但相对于触摸点。这是我使用drawRect的尝试:privateclassVideoDragShadowBuilderextendsView.DragShadowBuilder{p

java - Android camera2.params.face 矩形放置在 Canvas 上

我正在尝试在我的相机预览中实现人脸检测。我按照Android引用页面在TextureView中实现自定义相机预览,放置在FrameLayout中。此FrameLayout中还有一个具有清晰背景(与相机预览重叠)的SurfaceView。每次相机预览时,我的应用程序都会将第一个CaptureResult.STATISTICS_FACES面的边界识别的Rect动态绘制到SurfaceView的Canvas更新(每帧一次)。我的应用假设只需要识别一张脸。我在绘制矩形时出现了问题。如果我将脸保持在相机View的中央,我会在正确的位置得到矩形,但是当我向上移动头部时,矩形会向右移动,而当我向右移

android - 获取二维变换后位图在 Canvas 上的测量大小和位置

我在应用了2D转换(android.graphics.Camera和android.graphics.Matrix)的Canvas上绘制了一堆位图。如何获取位图在Canvas上的大小/位置?大小将是在Canvas上呈现的位图的边界,位置将是边界的上/左角的坐标。所有位图都是没有alphachannel的常规矩形。 最佳答案 矩阵类有一个mapRect函数用于此目的:mapRect(RectFdst,RectFsrc)将此矩阵应用于src矩形,并将变换后的矩形写入dst。将图像的尺寸作为源(如果您使用整个图像,则将0,0表示为x,y)

Android SurfaceView Canvas 呈现错误的颜色

嘿伙计们,这是大约7年来我第一次找不到编程问题的答案,我也没有从一开始就接近问题可能是什么。好吧,让我们从头开始。我遵循了一些关于AndroidSurfaceView的教程和示例,以及如何在另一个线程中绘制它的Canvas。到目前为止,没有问题,一切都如我所料。我目前正在处理我的SurfaceView周围有一些填充的场景,这意味着父View(FrameLayout)的背景呈现在上述SurfaceView周围。这是事情变得有趣的地方,因为我对父背景使用与清除SurfaceView的Canvas相同的颜色。根(=父)FrameLayout在主题中设置了它的背景@color/palette_

Android:在 Canvas 上绘制文本时文本缩放不正确

我正在使用DynamicLayout在Canvas上绘制格式化文本,我需要实现某种缩放。我尝试使用canvas.scale(...)来实现它。但是当文本包含高亮时,文本的缩放比例与背景不一致,如下所示:绘制文字的代码非常简单:canvas.scale(zoom,zoom);TextPainttextPaint=newTextPaint();textPaint.setAntiAlias(true);DynamicLayoutlayout=newDynamicLayout(text,textPaint,width,Layout.Alignment.ALIGN_NORMAL,1.0f,1.0

android - 在 Canvas 上垂直绘制文本

我想学习如何在Canvas上绘制垂直文本。对不起,也许是愚蠢的问题,但我无法解决这个问题。我可以这样做:if(i==10){this_str2="0.00";}canvas.save();canvas.rotate(-90,190,90);canvas.drawText(this_str2,x_guide+50,drawSizes[1]+drawSizes[3]-(i*drawSizes[3]/10)+20,paint);canvas.restore();}但是在X和Y上显示不正常还有什么办法解决这个问题7 最佳答案 试试这个自定义

android - 使用 Canvas 绘制时分别更改文本高度和宽度

想知道在用canvas绘图的时候有没有什么办法可以分别修改文字的高度和宽度。要设置文本大小,您可以简单地执行paint.setTextSize(x);但它会更改X和Y中的文本大小,我需要像使用一样分别更改X和Y中的文本大小paint.setTextScaleX(x);但没有像paint.setTextScaleY(y);这样的东西。有什么方法可以实现这个,或者它是否已经存在于Android中?谢谢 最佳答案 没有setTextScaleY方法,因为不需要。setTextSize乘以X和Y比例因子,setTextScaleX仅乘以X比

ESlint报错[vue/comment-directive]cleareslint-plugin-vue及Cannot find name ‘template‘.

项目背景:项目是用vite脚手架创建的vue3项目问题:新建了一个vue文件,在页面的第一行和最后一行都报错报错信息:   Cannotfindname'template'.Vetur(2304)   [vue/comment-directive]cleareslint-plugin-vue解决方法:关于Cannotfindname'template'.Vetur(2304)报错,搜索到的解决方法大都是建议把vetur报错关了,尝试后发现并没用关于[vue/comment-directive]cleareslint-plugin-vue,大都建议将.eslintrc.js配置文件中添加代码:"

android - 在高端设备中利用 Canvas 问题

我想以编程方式在Canvas上绘制一个SeekBar。我编写了代码以根据设备密度设置SeekBar的LayoutParams。我正在使用设备密度为switchcase的finalDisplayMetricsmetrics=Resources.getSystem().getDisplayMetrics();if(metrics.densityDpi但这在三星Note5、GalaxyS6Edge等高端设备中不起作用。我相信这些设备的密度范围为XXXHIGH,那为什么它不起作用?在Canvas上绘图时,设备密度和屏幕尺寸之间有什么关系吗?任何帮助将不胜感激。 最佳

android - 如何从一个 Canvas 复制到另一个 Canvas

我想将在一个Canvas(details)中绘制的图像复制到另一个Canvas中。通常讨论的使用位图的解决方案将行不通,因为Bitmap类没有许多属于Canvas类的重要方法。还有其他解决方案吗? 最佳答案 Canvas总是用于在屏幕上或Bitmap上绘制。使用Bitmaps的解决方案非常有效:创建一个Bitmap,创建一个Canvas以在该Bitmap上绘制,然后将Bitmap绘制到另一个Canvas。您还将所有绘图命令记录在一张图片中,并在不同的Canvas上重播它们。 关于andr