新手android 滚动变换数字画板画笔颜色变换

Android简易画板
vcD4KPHA+tq+7rcbkyrW+zcrHsru2z7XEtffTw1ZpZXfX6bz+tcRvbkRyYXe3vbeoo6zDv7TO1NpWaWV31+m8/snPu+bWxrXEzbzQzrK7zay+zdDOs8nBy87Sw8e/tLW9tcS2r7utoaM8L3A+CjxwPs6qwcvIw1ZpZXfX6bz+yc+75tbGtcTNvNDOt6LJ+rjEseSjrL7N0OjSqrLJ08Ox5MG/vMfXodXi0KnK/b7d17TMrKOsyOe5+9Do0qrTw7unstnX96OsxMfDtL7N0OjSqrS0vajKwrz+vODM/cb3o6zI57n7yse2r7ut19S8urjEseTEx8O0vs3Q6NKqyrnTw7aoyrHG91RpbWVyoaPNqNaqVmlld9bYu+a/ybX308NpbnZhbGlkYXRlKNTaVUnP37PM1tApus1wb3N0SW52YWxpZGF0ZSjU2rfHVUnP37PM1tApoaM8L3A+CjxwPs/W1NrSqtf20ru49rutzbyw5aOsxuTKtc7Sw8e/tLW9tcTK1rvmysfSu9bWvNnP86OsyrW8ysnPysfA+9PDQ2FudmFztcRkcmF3TGluZbe9t6i7rdaxz9+jrMO/zPXWsc/ftrzKx9PJtuC49s3Ptq/Kwrz+way907b4s8m1xKOszai5/VBhdGjA4L/J0tS63Le9sePKtTwvcD4KPHA+z9aho9Do0qrWuLP2tcTKx9XiwO/Q6NKqyrnTw8uru7qz5by8yvWjrLy0z8iw0c28u+bWxtTa0ru49sTatObW0LXEY2FjaGVCaXRtYXDW0KOstci1vcTatObW0LXEQml0bWFwu+bWxrrD1qztDUvatjYWNoZUJpdG1hcLvm1sbU2lZpZXfJz6GjPC9wPgo8cD48YnI+CjwvcD4KPHA+PC9wPgo8cHJlIGNsYXNzPQ=="brush:">import android.content.C
import android.graphics.B
import android.graphics.Bitmap.C
import android.graphics.C
import android.graphics.C
import android.graphics.P
import android.graphics.P
import android.util.AttributeS
import android.view.MotionE
import android.view.V
public class DrawView extends View
float preX;
float preY;
public Paint paint =
final int VIEW_WIDTH = 480;
//可以根据自己手机的分辨率调整大
final int VIEW_HEIGHT = 800;
// 定义一个内存中的图片,该图片将作为缓冲区
Bitmap cacheBitmap =
// 定义cacheBitmap上的Canvas对象
Canvas cacheCanvas =
public DrawView(Context context, AttributeSet set)
super(context, set);
// 创建一个与该View相同大小的缓存区
cacheBitmap = Bitmap.createBitmap(VIEW_WIDTH, VIEW_HEIGHT,
Config.ARGB_8888);
cacheCanvas = new Canvas();
path = new Path();
// 设置cacheCanvas将会绘制到内存中的cacheBitmap上
cacheCanvas.setBitmap(cacheBitmap);
// 设置画笔的颜色
paint = new Paint(Paint.DITHER_FLAG);
paint.setColor(Color.RED);
// 设置画笔风格
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(1);
paint.setAntiAlias(true);
paint.setDither(true);
public boolean onTouchEvent(MotionEvent event)
// 获取拖动事件的发生位置
float x = event.getX();
float y = event.getY();
switch (event.getAction())
case MotionEvent.ACTION_DOWN:
path.moveTo(x, y);
case MotionEvent.ACTION_MOVE:
path.quadTo(preX, preY, x, y);
case MotionEvent.ACTION_UP:
cacheCanvas.drawPath(path, paint);
path.reset();
invalidate();
// 返回true表明处理方法已经处理该事件
public void onDraw(Canvas canvas)
Paint bmpPaint = new Paint();
// 将cacheBitmap绘制到该View组件上
canvas.drawBitmap(cacheBitmap, 0, 0, bmpPaint);
// 沿着path绘制
canvas.drawPath(path, paint);
import android.app.A
import android.graphics.BlurMaskF
import android.graphics.C
import android.graphics.EmbossMaskF
import android.os.B
import android.view.M
import android.view.MenuI
import android.view.MenuI
public class HandDraw extends Activity
/* MaskFilter类可以为Paint分配边缘效果。对MaskFilter的扩展可以对一个Paint边缘的alpha通道应用转换。
包含了下面几种MaskFilter:
BlurMaskFilter
指定了一个模糊的样式和半径来处理Paint的边缘。
EmbossMaskFilter
指定了光源的方向和环境光强度来添加浮雕效果。
要应用一个MaskFilter,可以使用setMaskFilter方法,并传递给它一个MaskFilter对象。
EmbossMaskF
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
emboss = new EmbossMaskFilter(new float[]
{ 1.5f, 1.5f, 1.5f }, 0.6f, 6, 4.2f);
blur = new BlurMaskFilter(8, BlurMaskFilter.Blur.NORMAL);
// 负责创建选项菜单
public boolean onCreateOptionsMenu(Menu menu)
MenuInflater inflator = new MenuInflater(this);
// 装载R.menu.my_menu对应的菜单,并添加到menu中
inflator.inflate(R.menu.my_menu, menu);
return super.onCreateOptionsMenu(menu);
// 菜单项被单击后的回调方法
public boolean onOptionsItemSelected(MenuItem mi)
DrawView dv = (DrawView) findViewById(R.id.draw);
// 判断单击的是哪个菜单项,并针对性的作出响应。
switch (mi.getItemId())
case R.id.red:
dv.paint.setColor(Color.RED);
mi.setChecked(true);
case R.id.green:
dv.paint.setColor(Color.GREEN);
mi.setChecked(true);
case R.id.blue:
dv.paint.setColor(Color.BLUE);
mi.setChecked(true);
case R.id.width_1:
dv.paint.setStrokeWidth(1);
case R.id.width_3:
dv.paint.setStrokeWidth(3);
case R.id.width_5:
dv.paint.setStrokeWidth(5);
case R.id.blur:
dv.paint.setMaskFilter(blur);
case R.id.emboss:
dv.paint.setMaskFilter(emboss);
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。Android 画图板实例 - 下载频道
- CSDN.NET
&&&&Android 画图板实例
Android 画图板实例
有什么问题可以给我发邮件:
功能说明:
1、能画线(Pen),能擦除(Eraser),清除(Clear)。
2、Undo,Redo功能。
3、保存,加载笔迹(Stroke)。
4、画笔颜色。
5、画板背景色。
6、画笔,橡皮大小。
7、选择画景图片。
说明:当时做的时候就按照WVGA800的模拟器做的,所以分辨率应当设置为800 * 480,横屏模式。
若举报审核通过,可奖励20下载分
被举报人:
fengwenqi2010
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
移动开发下载排行上一节,实现了画板的所有功能,包括设置画笔大小,设置画笔颜色,橡皮擦等功能,而手写,也可以添加设置笔迹大小和颜色的功能,这节就顺势实现手写的调整笔迹大小和调整笔迹的颜色。先看图:
其实,手写和画板的这些功能都类似,直接复用之前的代码就行,原理如下: &&&&&1. 设置画笔大小的功能:
&&&&&&&&&&&&&& 1)初始化画笔。 2)设置画笔的大小为所选择的大小。3)用一个变量记住当前画笔的大小,用于在进行其他操作后还保持之前设置的画笔大小。 2. 设置画笔颜色的功能:
&&&&&&&&&&&&&& 1)初始化画笔。 2)设置画笔的颜色为所选择的颜色。3)用一个变量记住当前画笔的颜色,用于在进行其他操作后还保持之前设置的画笔颜色。主要代码(在TouchView中添加)如下:private Paint mPprivate int currentColor = Color.RED;private int currentSize = 5;//设置画笔样式 public void setPaintStyle(){
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setDither(true);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(currentSize);
mPaint.setColor(currentColor);} &&&& 设置画笔大小: //设置画笔的大小
public void selectHandWritetSize(int which){
int size =Integer.parseInt(this.getResources().getStringArray(R.array.paintsize)[which]);
currentSize = setPaintStyle(); } 设置画笔颜色: //设置画笔颜色 public void selectHandWriteColor(int which){
currentColor = paintColor[which];
setPaintStyle(); } 在自定义View中添加这些方法后,接下来就是在Activity中调用这些方法了,同上节(在HandWriteActivity.java中添加如下代码): //画笔大小 case 0:
showPaintSizeDialog(view);
//颜色 case 1:
showPaintColorDialog(view);
通过点击这两个按钮,弹出对话框,用于选择画笔的大小和颜色showPaintSizeDialog(view),弹出选择画笔大小的对话框,如下://弹出画笔大小选项对话框
public void showPaintSizeDialog(View parent){
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this,R.style.custom_dialog);
alertDialogBuilder.setTitle(&选择画笔大小:&);
alertDialogBuilder.setSingleChoiceItems(R.array.paintsize, select_handwrite_size_index, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
select_handwrite_size_index =
touchView.selectHandWritetSize(which);
dialog.dismiss();
alertDialogBuilder.setNegativeButton(&取消&, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
alertDialogBuilder.create().show();
} showPaintColorDialog(view):弹出颜色选择对话框,如下: //弹出画笔颜色选项对话框
public void showPaintColorDialog(View parent){
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this,R.style.custom_dialog);
alertDialogBuilder.setTitle(&选择画笔颜色:&);
alertDialogBuilder.setSingleChoiceItems(R.array.paintcolor, select_handwrite_color_index, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
select_handwrite_color_index =
touchView.selectHandWriteColor(which);
dialog.dismiss();
alertDialogBuilder.setNegativeButton(&取消&, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
alertDialogBuilder.create().show();
}里面同样也用到了上节提到的arrays.xmlarrays.xml&?xml version=&1.0& encoding=&utf-8&?&&resources& &string-array name=&paintstyle&&
&item&@string/track_line&/item&
&item&@string/Eraser&/item& &/string-array& &string-array name=&paintsize&&
&item&5&/item&
&item&10&/item&
&item&15&/item&
&item&20&/item&
&item&25&/item&
&item&30&/item& &/string-array&
&string-array name=&paintcolor&&
&item&RED&/item&
&item&BLUE&/item&
&item&BLACK&/item&
&item&GREEN&/item&
&item&YELLOW&/item&
&item&CYAN&/item&
&item&LTGRAY&/item& &/string-array& &/resources&至此,手写的功能,也已基本全部完成,接下来就剩将手写的字保存成文件,并返回保存文件的路径存储到数据库,后续继续完善。
无相关信息Drawing Pad画板
Drawing Pad画板
综合评分:
Drawing Pad画板是一款为平板设计的绘画软件,自带了各种笔刷工具,如蜡笔,白板笔,画笔,彩色铅笔,贴纸,滚钢笔等等。
Drawing Pad提供了如此多的颜色和材质,让奇思妙想的创意成为可能。也许你会选择“水下世界”的背景画纸,然后画上一条美人鱼,而且还粘贴上一些海带和鱼儿的贴 纸,那该多有趣。Drawing Pad还支持多触点,因此你可以调整贴纸的大小或对其进行旋转,另外你还可以锁定贴纸的位置以及调整他们的重叠层次。
其他帐号登录:
为此应用打分:
请填写评论内容
(高速下载)
应用相关文章
大家都在玩
热门安卓应用
360手机助手
手机QQ2012
3D终极狂飙4
微信(WeChat)
支付宝钱包
最近浏览过的应用
Drawing Pad画板

我要回帖

更多关于 android 画笔粗细 的文章

 

随机推荐