android-canvas相关内容

Android:如何做这个框架涂料?

我有一些静态图片,如下所示: 现在,我想要的是,当我触摸脸部或手部时,应该在该皮肤部分填充所选颜色. 见下图: 那么如何得到如上的结果??重做和撤消功能也应该存在. 我曾尝试使用 FloodFill 颜色,但这样做我只能对垂直部分进行着色.因为 FloodFill 只填充颜色,直到出现相同的 pixwl 颜色.如果触摸位置像素颜色发生变化,则不会在其上填充颜色. 所以 ..
发布时间:2021-11-27 15:37:00 移动开发

PorterduffXfermode:清除位图的一部分

目标是绘制位图并覆盖在某物的顶部,并绘制擦除位图底层区域的形状. 我有一个概念证明来尝试了解我应该如何去做.我发现了很多关于使用的提示: android.graphics.PorterDuff.Mode.CLEAR 下面的代码创建了一个蓝色背景的屏幕并添加了一个自定义视图.此视图在其画布上从下到上绘制:粉红色背景、带有轻微插图以显示粉红色背景的位图,以及每个 PorterDuffXfer ..
发布时间:2021-11-27 15:36:49 Java开发

使用clipRect - 解释

public class POCII extends Activity {myView mv = new myView(this);@覆盖public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);设置内容视图(MV);}}类 myView 扩展视图 {公共 myView(上下文上下文){超 ..
发布时间:2021-11-27 15:36:40 移动开发

在android中放大/缩小或拖动后获取Canvas坐标

我正在开发一个应用程序,我可以在其中粘贴图像、在画布上进行绘图和绘画.此应用程序还可以放大/缩小画布或将其拖动到不同的位置.我的问题是:缩放或拖动画布后我无法获得正确的画布坐标.我想在画布被缩放或拖动后绘制手指画,但无法检索到我触摸过的正确位置..:(另外我是新蜜蜂.这是代码. @Override公共无效 onDraw(画布画布){super.onDraw(画布);画布.save();//can ..
发布时间:2021-11-27 15:36:29 移动开发

Android:如何检查路径是否包含触摸点?

我会尝试开发一个可以绘制平面图的应用程序.因此,每个房间都有自己的ID 或名称,如果我触摸一个房间,我想显示带有该 ID 或名称的 Toast 消息.问题是如何检查是否触及以及哪个路径被触及!! 我看到很多话题讨论都在讨论这个问题.有人说使用 getBounds 方法,然后包含检查触摸点是否在 Rect 中的方法.但是,我猜 getBounds 返回包含路径的最小 Rect ,对吗? ..
发布时间:2021-11-27 15:36:22 移动开发

使用 Android 的 RecyclerView 时,在滑动行下方添加带有文本/图标的彩色背景

编辑:真正的问题是我的 LinearLayout 被包裹在另一个布局中,这导致了不正确的行为.与我在问题中提供的代码片段相比,Sanvywell 接受的答案有一个更好、更完整的示例,说明如何在滑动视图下绘制颜色. 现在 RecyclerView 小部件具有原生在 ItemTouchHelper 的帮助下支持行滑动类,我试图在一个应用程序中使用它,其中行的行为类似于谷歌的收件箱应用程序.也就是 ..

绘制图像时绘制外阴影

我目前通过在画布上绘制来在我的应用中创建一个圆形版本的图像.我想在图像周围画一个微弱的外阴影,但我不能完全正确.我有两个问题:1. 如何绘制外阴影(我似乎只能绘制带有 x 或 y 偏移量的阴影)2. 我怎样才能绘制阴影,使其没有附加图像中显示的伪影.代码: ![public Bitmap getRoundedCornerBitmap(Bitmap bitmap, float cornerRadi ..
发布时间:2021-11-27 15:35:45 移动开发

Android View.onDraw() 总是有一个干净的 Canvas

我正在尝试绘制动画.为此,我扩展了 View 并覆盖了 onDraw() 方法.我所期望的是,每次调用 onDraw() 时,画布都会处于我离开它的状态,我可以选择清除它或只绘制它的一部分(这就是我使用 SurfaceView 时的工作方式) 但每次画布回来时都已经清除了.有什么办法可以不清除吗?或者也许可以将之前的状态保存到位图中,这样我就可以绘制该位图,然后在其上方绘制? 解决方案 我 ..
发布时间:2021-11-27 15:35:37 移动开发

贝塞尔曲线和画布

如何在画布上绘制贝塞尔曲线.我只有起点和终点.我想从起点到终点画线.我该怎么做? 解决方案 您可以使用 Path.quadTo() 或 Path.cubicTo() 来解决这个问题.示例可以在 SDK 示例 (FingerPaint) 中找到.在您的情况下,您只需要计算中间点,然后将您的三个点传递给 quadTo().. 给你一些代码: (x1,y1) 和 (x3,y3) 分别 ..
发布时间:2021-11-27 15:35:12 移动开发

如何根据设备宽度和字体大小测量 TextView 高度?

我正在寻找 Android 中的方法,该方法将接受输入(文本、text_font_size、device_width)并根据这些计算返回显示特定文本所需的高度? 我正在根据他的内容设置文本视图/网络视图高度运行时,我知道扭曲内容,但由于某些网络视图最小高度问题,我无法在我的情况下使用. 所以我正在尝试计算高度并基于此设置视图高度. 我尝试了以下方法 Paint Paint = ..

Android Canvas.drawText

我有一个视图,我在 onDraw(Canvas canvas) 方法中使用 Canvas 对象进行绘图.我的代码是: Paint Paint = new Paint();Paint.setColor(Color.WHITE);Paint.setStyle(Style.FILL);canvas.drawPaint(油漆);Paint.setColor(android.R.color.black); ..
发布时间:2021-11-27 15:34:45 移动开发

SurfaceView 在加载时闪烁黑色

我有一个绘图应用程序,加载复杂绘图的绘图需要大约 2-5 秒(通过 AsyncTask 完成).为了获得更好的用户体验,在此期间,我将应用程序目录中存储的图形的 PNG 版本闪存为 ImageView,并显示调用 的加载 ProgressBar>setContentView() 在 Activity 构造函数中: ..
发布时间:2021-11-27 15:34:06 移动开发

画布上的 Android 中心文本

我正在尝试使用下面的代码显示文本.问题是文本没有水平居中.当我为 drawText 设置坐标时,它会在此位置设置文本的底部.我想绘制文本,以便文本也水平居中. 这是进一步显示我的问题的图片: @Override受保护的无效 onDraw(画布画布){//TODO 自动生成的方法存根super.onDraw(画布);//canvas.drawRGB(2, 2, 200);Paint te ..
发布时间:2021-11-27 15:33:57 Java开发

画布上的可绘制图像

如何将图像放到画布上以便在该图像上绘图? 解决方案 在画布上绘制 Drawable 的好方法不是自己解码,而是让系统去做: Drawable d = getResources().getDrawable(R.drawable.foobar, null);d.setBounds(左、上、右、下);d. 绘制(画布); 这将适用于所有类型的可绘制对象,而不仅仅是位图.并且这也意味着你可以再 ..
发布时间:2021-11-27 15:33:47 移动开发