在弧线上画一个圆润的空心拇指
我想创建一个圆形图,该图将显示我的应用程序中的一系列值.值可以分为3个类别:低,中,高 - 由3种颜色表示:蓝色,绿色和红色(分别). 高于此范围,我想显示实际测量值 - 相关范围部分的"拇指"形式: 根据测量值,白色拇指的位置可能会改变. 目前,我能够通过在视图的OnDraw方法内在同一中心上绘制3个弧线来绘制3色范围: width = (float) getWidth(); height = (float) getHeight(); float radius; if (width > height) { radius = height / 3; } else { radius = width / 3; } paint.setAntiAlias(true); paint.setStrokeWidth(arcLineWidth); paint.setStrokeCap(Paint.Cap.ROUND); paint.setStyle(Pain
0 2023-08-31
编程技术问答社区
如何使用谷歌的人脸API检测角落/中心X、Y坐标?
美好的一天,我正在使用Google的新脸API(在此处链接),可与脸部改进.您回来的一件事是地标对象的列表,每个对象都有X和Y坐标可使用. 使用这些坐标,我试图找出图片的中心,但是弄清楚正确的数字很困难. 这是我到目前为止所知道的: 1)与旧方法不同,它不再是1000,1000 by -1000,-1000,-1000 2) 3)当我在日志中打印出那些坐标时,我的数字似乎与像素(1440W,2368H)中的屏幕大小不符.我将其打印出来时得到的一些示例是: 464.90558,112.7573 -19.159714,218.88104 28.383072,196.1712 -130.06908,1071.8779 这是没有道理的,因为我不明白坐标是左上角是(0,0)的负数. 所以问题是,如何确定这些坐标?在某种程度上是屏幕的大小吗?它们是否以某种方式使用DP进行转换?他们有静态帽吗? 谢谢大家, pgmac 解决方案 坐标是图
6 2023-06-10
编程技术问答社区
动态改变线性梯度的颜色比例,用于自定义寻宝条
我创建了一个使用自定义LinearGradient绘制的Seekbar.但是,我希望能够更改每种颜色的梯度比率,在这里我使用3种颜色,如果positions为null,它们会同样分布.实际上,我想要的是提供与每种颜色的宽度或比率,例如更改红色比率,并将其设置为 0%至seekBar width的10%. 我想在这里设置0%至10%红色,10% - 80%黄色和80%至100%红色,并能够动态更改每种颜色的宽度值. 这是可能的,如果是的话,有人可以指导我如何吗? 我的代码 private ShapeDrawable getSeekBarGradientDrawable(int mRectWidth, int mRectHeight) { int[] colors = new int[] { Color.RED, Color.YELLOW, getResources().getColor(R.color.primaryButton, null)}; Displa
22 2023-03-19
编程技术问答社区
如何获得一个视图的位图?
好的,所以我会尽力解释我的问题. 我使用了这个代码来获得我的弗拉梅莱顿的"屏幕截图" /** * Function that takes a screenshot of the view passed and returns a bitmap for it. * * @param view {@link View} * @return screenshot of the view passed */ public Bitmap screenShot(View view) { Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); view.draw(canvas); return bitmap; } 这是我
16 2023-01-28
编程技术问答社区
如何理解Android的setDisplay/setSurface/setPrewviewDisplay/setPreviewTexture下面的内容?
由于Android API级别1,我们可以使用SetDisplay或SetPrewViewDisplay将MediaPlayer或Camera附加到表面,然后可以将图像数据传输到GPU并更快地处理. 介绍了surfacetexture后,我们可以使用目标gl_texture_external_ope创建自己的纹理,并将MediaPlayer或Camera附加到OpenGL ES. 这些是众所周知的,但我想谈论的是关于Android图形架构的下面.( Android图形架构) 所产生的数据在CPU侧,因此必须以非常快的方式转移到GPU. 为什么每个Android设备都快速传输数据,以及如何使其在下面? 或者是一个与Android无关的硬件问题? 解决方案 数据不会在CPU侧产生.相机和硬件视频编解码器将其数据存储在由内核Gralloc机制分配的缓冲区中(通过非公共图形缓解从本机代码引用).曲面通过缓冲区对象进行通信,该对象通过句柄传递帧,而无需复制数据
3200 2022-07-17
编程技术问答社区