canvas教程

Android画图技巧应用方式分析

字号+ 作者:H5之家 来源:H5之家 2016-01-22 10:00 我要评论( )

在Android操作系统开发中,对于图形界面的操作时非常常见的一个基础操作。我们可以先通过本文介绍的有关Android画图的相关操作,

在Android 操作系统开发中,对于图形界面的操作时非常常见的一个基础操作。我们可以先通过本文介绍的有关Android画图的相关操作,来具体了解一下图形界面的操作技巧,以此提高我们对这一系统的认知程度。

  • import java.io.InputStream;   import android.app.Activity;   
  • import android.content.Context;   import android.graphics.Bitmap;   
  • import android.graphics.BitmapFactory;   import android.graphics.Canvas;   
  • import android.graphics.Color;   import android.graphics.LinearGradient;   
  • import android.graphics.Paint;   import android.graphics.PorterDuff;   
  • import android.graphics.PorterDuffXfermode;   import android.graphics.Shader;   
  • import android.graphics.Typeface;   import android.os.Bundle;   
  • import android.view.View;   public class AlphaBitmap extends Activity {   
  • @Override   protected void onCreate(Bundle savedInstanceState) {   
  • super.onCreate(savedInstanceState);   setContentView(new SampleView(this));   
  • }   private static class SampleView extends View {   
  • private Bitmap mBitmap;   private Bitmap mBitmap2;   
  • private Bitmap mBitmap3;   private Shader mShader;   
  • private static void drawIntoBitmap(Bitmap bm) {   float x = bm.getWidth();   
  • float y = bm.getHeight();   // 建一个有制定对象的画布   
  • Canvas c = new Canvas(bm);   Paint p = new Paint();   
  • // 主要用来消除边缘吧从效果上看 好像false的话有毛边   p.setAntiAlias(true);   
  • p.setAlpha(0x555555);//灰色   c.drawCircle(x/2, y/2, x/2, p);   
  • p.setAlpha(0x0000ff);//蓝色   p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER));   
  • // 下面是字体的相关设置   p.setTextSize(20);   
  • String familyName = "宋体";   Typeface font = Typeface.create(familyName,Typeface.ITALIC);   
  • p.setTypeface(font);   p.setTextAlign(Paint.Align.CENTER);   
  • Paint.FontMetrics fm = p.getFontMetrics();   c.drawText("我爱android", x/2, (y-fm.ascent)/2, p);   
  • }   public SampleView(Context context) {   
  • super(context);   setFocusable(true);   
  • // 得到图像的几种方法   InputStream is = context.getResources().
    openRawResource(R.drawable.app_sample_code);   
  • mBitmap = BitmapFactory.decodeStream(is);   //从一幅图像抽取色值变为新的图像,一般是画笔的颜色 同下面 
    p.setColor(Color.BLUE);   
  • mBitmapmBitmap2 = mBitmap.extractAlpha();   mBitmap3 = Bitmap.createBitmap(200, 200, Bitmap.Config.ALPHA_8);   
  • drawIntoBitmap(mBitmap3);   //一种渐变效果   
  • mShader = new LinearGradient(0, 0, 150, 70, new int[] {   Color.RED, Color.GREEN, Color.BLUE },   
  • null, Shader.TileMode.MIRROR);   }   
  • @Override protected void onDraw(Canvas canvas) {   canvas.drawColor(Color.LTGRAY);   
  • Paint p = new Paint();   float y = 10;   
  • p.setColor(Color.BLUE);   canvas.drawBitmap(mBitmap, 10, y, p);   
  • y += mBitmap.getHeight() + 10;   canvas.drawBitmap(mBitmap2, 10, y, p);   
  • y += mBitmap2.getHeight() + 10;   p.setShader(mShader);   
  • canvas.drawBitmap(mBitmap3, 10, y, p);   }   
  • }   } 

    如果把一幅图片变成一个可变图片之后,就可以在图片上打上自己的印记了,这里就不写了。这个程序主要是 怎么自己画一个图片,可以用在图片上画,也可以就如同一张白纸自己画,同时还有一个函数,可以用来提取外形的。

    Android dialog应用经验总结  Android短信发送功能实现技巧分享  Android开机自启动具体操作方法简介  Android显示网络图片相关实现方法浅谈  Android应用技巧总结 

     


    移动互联网正在重新定义企业,企业如何抢占移动互联时代发展先机?如何打破传统商业模式?如何寻找新的营销手段?在这里找到答案:“中国企业级移动应用营销大会暨选型争霸赛”

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • html5canvas核心技术图形、动画与游戏开发源码

    html5canvas核心技术图形、动画与游戏开发源码

    2017-05-02 17:42

  • 打印html5中Canvas的方法

    打印html5中Canvas的方法

    2017-05-01 15:03

  • HTML5+Canvas调用手机拍照功能实现图片上传(下)

    HTML5+Canvas调用手机拍照功能实现图片上传(下)

    2017-04-30 17:00

  • 学习慕课网canvas倒计时实例笔记

    学习慕课网canvas倒计时实例笔记

    2017-04-30 14:01

网友点评