android - Android Studio:在画布上绘制位图问题
问题描述
我只在这个社区搜索了信息,并且第一次真正问了一些东西。请知道我是 android 编程新手,也不擅长英语。
我正在使用画布绘制位图。我首先使用对话框选择颜色和形状类型。当我触摸屏幕时,位图由我选择的颜色和形状(实际上是位图)绘制。当我更改颜色或画笔时会出现问题。更改后,当我绘制时,所有先前绘制的位图的颜色和形状都会更改为新设置。
这是代码和示例图像(因为我的英语不好可能会使您混淆我在说什么)。显然,它通过 invalidate() 运行。
protected void onDraw(Canvas canvas) {
for (int i = 0; i < mPoints.size(); i += 2) {
mPaint = new Paint();
MyPointWColor myP = mPoints.get(i);
mPaint.setColor(myP.color);
Bitmap resized = Bitmap.createScaledBitmap(BitmapFactory.decodeResource(getResources(), brush[brushNum]), 100, 100, true);
replaceColor_self(resized, mCurColor);
canvas.drawBitmap(resized,myP.x,myP.y,mPaint);
}
}
我真的很难走到这一步。最后一部分将结束这场噩梦。
请救救我!
解决方案
推荐阅读
- makefile - $(error) - *** 命令在第一个目标之前开始。停止
- c - 当我没有在 C 中编写代码时发生新行
- excel - 有没有办法更改保存文件提示?
- apache-spark - 无法在 HDInsight 4.0 中创建 Jupyter Notebook
- excel - 返回字符串匹配单元格内容的任何部分的范围内的第一行号
- tableau-api - Tableau 扩展,编写自定义扩展以跨多个工作表下载数据
- android - 智能手机上没有复选标记的 Android 复选框(模拟器正在工作)
- javascript - 使用 es6 类从继承 EventEmitter 的类中捕获事件
- parsing - 如何解析维基词典模板和模块
- java - 在 if else 中初始化变量但不工作,如何正确初始化它们?