导航:首页 > 操作系统 > android画板代码

android画板代码

发布时间:2022-06-22 01:48:13

android 画板canvas如何画五角星

这个应该不难吧 用path path.moveTo(xx,xx);
path.lineTo(xx,xx);
算下这个五角星个点坐标就行了。

② Android画板缩放重绘比较卡顿,有没有什么办法可以优化

双缓冲区,
不行就opengles
当然,一般简单图形也不至于卡顿,你看看你代码有没有问题吧.

③ android画板怎么记录已经画线地方的坐标啊

假如 A点跟B点连成一条直线 A点在左 B点在右
判断C点是在这条直线上
计算一下 A-B跟y轴的夹角 再计算一下 A-C跟Y轴的夹角 如果夹角一致 就表示C点在A-B的连线上

④ 安卓里面如何实现画板的蜡笔效果,试过了很多API都不行!

的确,是没有现成的API可用的。蜡笔我不知道,提供一个做粉笔效果的方法。首先做一张圆形的,上面有各种灰度点离散分部的图,然后比如你想要白色的粉笔效果,就用白色跟上面那张图上面的每个像素点的rgb值做“&”运算,这样得到一张新的bitmap,再把这张bitmap画在canvas上面,就是一个看上去有粉笔效果的大圆点。当然画bitmap的时候,paint稍微加一点alpha值,做点透明效果,这样更加真实。以上的方法是我从一个黑板app反编译后的代码里面得到的方法,希望对你有用。

⑤ 新手 自己写android画板 可是画出的线条,有角,就是画的弧线不平滑

那么你的板板有问题,你应该去买的地方咨询一下,或者上官方网站问问。线画不直有两个问题,一是新手,新手线条都不好,需要一个月去磨合。

二是板板有问题,需要咨询厂家网站。你试试用sai软件画,把里面的防抖指数调到最高,看看画出的线条还抖动不,如果不抖动,就是第一个问题,如果照旧就是板板问题。

⑥ android开发怎么做画板工具箱

千锋扣丁学堂Android开发入门为您解答:

public class MainActivity extends Activity {
private ImageView iv;
private Bitmap baseBitmap;
private Canvas canvas;
private Paint paint;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.iv = (ImageView) this.findViewById(R.id.iv);
// 创建一张空白图片
baseBitmap = Bitmap.createBitmap(480, 640, Bitmap.Config.ARGB_8888);
// 创建一张画布
canvas = new Canvas(baseBitmap);
// 画布背景为灰色
canvas.drawColor(Color.GRAY);
// 创建画笔
paint = new Paint();
// 画笔颜色为红色
paint.setColor(Color.RED);
// 宽度5个像素
paint.setStrokeWidth(5);
// 先将灰色背景画上
canvas.drawBitmap(baseBitmap, new Matrix(), paint);
iv.setImageBitmap(baseBitmap);

iv.setOnTouchListener(new OnTouchListener() {
int startX;
int startY;

@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 获取手按下时的坐标
startX = (int) event.getX();
startY = (int) event.getY();
break;
case MotionEvent.ACTION_MOVE:
// 获取手移动后的坐标
int stopX = (int) event.getX();
int stopY = (int) event.getY();
// 在开始和结束坐标间画一条线
canvas.drawLine(startX, startY, stopX, stopY, paint);
// 实时更新开始坐标
startX = (int) event.getX();
startY = (int) event.getY();
iv.setImageBitmap(baseBitmap);
break;
}
return true;
}
});
}
public void save(View view) {
try {
File file = new File(Environment.getExternalStorageDirectory(),
System.currentTimeMillis() + ".jpg");
OutputStream stream = new FileOutputStream(file);
baseBitmap.compress(CompressFormat.JPEG, 100, stream);
stream.close();
// 模拟一个广播,通知系统sdcard被挂载
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MEDIA_MOUNTED);
intent.setData(Uri.fromFile(Environment
.getExternalStorageDirectory()));
sendBroadcast(intent);

Toast.makeText(this, "保存图片成功", 0).show();
} catch (Exception e) {
Toast.makeText(this, "保存图片失败", 0).show();
e.printStackTrace();
}
}
}
简单的布局文件
<relativelayout xmlns:android="http://www.codingke.com/courses-android-2.html" xmlns:tools="http://www.codingke.com/courses-android-2.html" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity">

<button android:id="@+id/button1" android:onclick="save" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignparentbottom="true" android:text="保存图片">
<imageview android:layout_above="@id/button1" android:id="@+id/iv" android:layout_width="match_parent" android:layout_height="match_parent">
</imageview></button></relativelayout>

⑦ android画板问题

public class MainActivity extends Activity {
private ImageView iv;
private Bitmap baseBitmap;
private Canvas canvas;
private Paint paint;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.iv = (ImageView) this.findViewById(R.id.iv);
// 创建一张空白图片
baseBitmap = Bitmap.createBitmap(480, 640, Bitmap.Config.ARGB_8888);
// 创建一张画布
canvas = new Canvas(baseBitmap);
// 画布背景为灰色
canvas.drawColor(Color.GRAY);
// 创建画笔
paint = new Paint();
// 画笔颜色为红色
paint.setColor(Color.RED);
// 宽度5个像素
paint.setStrokeWidth(5);
// 先将灰色背景画上
canvas.drawBitmap(baseBitmap, new Matrix(), paint);
iv.setImageBitmap(baseBitmap);

iv.setOnTouchListener(new OnTouchListener() {
int startX;
int startY;

@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 获取手按下时的坐标
startX = (int) event.getX();
startY = (int) event.getY();
break;
case MotionEvent.ACTION_MOVE:
// 获取手移动后的坐标
int stopX = (int) event.getX();
int stopY = (int) event.getY();
// 在开始和结束坐标间画一条线
canvas.drawLine(startX, startY, stopX, stopY, paint);
// 实时更新开始坐标
startX = (int) event.getX();
startY = (int) event.getY();
iv.setImageBitmap(baseBitmap);
break;
}
return true;
}
});
}

public void save(View view) {
try {
File file = new File(Environment.getExternalStorageDirectory(),
System.currentTimeMillis() + ".jpg");
OutputStream stream = new FileOutputStream(file);
baseBitmap.compress(CompressFormat.JPEG, 100, stream);
stream.close();
// 模拟一个广播,通知系统sdcard被挂载
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MEDIA_MOUNTED);
intent.setData(Uri.fromFile(Environment
.getExternalStorageDirectory()));
sendBroadcast(intent);

Toast.makeText(this, "保存图片成功", 0).show();
} catch (Exception e) {
Toast.makeText(this, "保存图片失败", 0).show();
e.printStackTrace();
}
}

}

⑧ android 画板问题

??问题不太清楚,你要画坐标图的话要用一张坐标方格纸垫在最下面,然后用硫酸纸放在方格纸上。

⑨ Android开发在画板上画些东西,甩一甩手机实现画板上的东西变成泼墨效果。

画画板实现起来其实很简单,我们只需要利用android给我们提供的Canvas类来操作就可以实现简单的画画功能
直接看代码,注释都写清楚了

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78

public class MainActivity extends Activity {
private ImageView iv;
private Bitmap baseBitmap;
private Canvas canvas;
private Paint paint;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.iv = (ImageView) this.findViewById(R.id.iv);
// 创建一张空白图片
baseBitmap = Bitmap.createBitmap(480, 640, Bitmap.Config.ARGB_8888);
// 创建一张画布
canvas = new Canvas(baseBitmap);
// 画布背景为灰色
canvas.drawColor(Color.GRAY);
// 创建画笔
paint = new Paint();
// 画笔颜色为红色
paint.setColor(Color.RED);
// 宽度5个像素
paint.setStrokeWidth(5);
// 先将灰色背景画上
canvas.drawBitmap(baseBitmap, new Matrix(), paint);
iv.setImageBitmap(baseBitmap);

iv.setOnTouchListener(new OnTouchListener() {
int startX;
int startY;

@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 获取手按下时的坐标
startX = (int) event.getX();
startY = (int) event.getY();
break;
case MotionEvent.ACTION_MOVE:
// 获取手移动后的坐标
int stopX = (int) event.getX();
int stopY = (int) event.getY();
// 在开始和结束坐标间画一条线
canvas.drawLine(startX, startY, stopX, stopY, paint);
// 实时更新开始坐标
startX = (int) event.getX();
startY = (int) event.getY();
iv.setImageBitmap(baseBitmap);
break;
}
return true;
}
});
}

public void save(View view) {
try {
File file = new File(Environment.getExternalStorageDirectory(),
System.currentTimeMillis() + ".jpg");
OutputStream stream = new FileOutputStream(file);
baseBitmap.compress(CompressFormat.JPEG, 100, stream);
stream.close();
// 模拟一个广播,通知系统sdcard被挂载
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MEDIA_MOUNTED);
intent.setData(Uri.fromFile(Environment
.getExternalStorageDirectory()));
sendBroadcast(intent);

Toast.makeText(this, "保存图片成功", 0).show();
} catch (Exception e) {
Toast.makeText(this, "保存图片失败", 0).show();
e.printStackTrace();
}
}

}

简单的布局文件

?

1
2
3
4
5
6
7
8

<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity">

<button android:id="@+id/button1" android:onclick="save" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignparentbottom="true" android:text="保存图片">

<imageview android:layout_above="@id/but

http://www.2cto.com/kf/201401/273814.html

⑩ Android动态添加自定义控件(照片装饰素材)canvas 画板相关问题!求帮助!

点击的时候获取到整个父布局(你添加自定义view的父布局),隐藏或者移除不是点击的这个组件就好了啊,如果不好确定父布局里面哪个是点击的空间,那就给每个控制设置id就可以了

阅读全文

与android画板代码相关的资料

热点内容
什么手机app去红眼 浏览:542
fpga如何编程 浏览:184
中国版我的世界小游戏服务器地址 浏览:335
人教版化学高中PDF 浏览:323
庆国庆编程作品 浏览:470
在线将jpg文件转pdf 浏览:1000
丽水文档加密软件哪家好 浏览:364
哪个公司的程序员好 浏览:292
我的世界网易版4级压缩木剑 浏览:454
粉笔二建app叫什么 浏览:928
解压flstudio视频教程 浏览:356
研发工程师文件夹管理 浏览:156
为桌面某个应用添加密码如何设置 浏览:194
冀云app的答题模式在哪里 浏览:754
体系助理工程师是搞编程的吗 浏览:675
播放蓝光文件夹apk 浏览:1000
如何重新注册命令符 浏览:16
javadecodeencode 浏览:592
无线技术原理pdf 浏览:248
闻人暖的小说在哪个app 浏览:137