Android中如何实现画图
导读:本文共2082.5字符,通常情况下阅读需要7分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 在Android操作系统开发中,对于图形界面的操作时非常常见的一个基础操作。我们可以先通过本文介绍的有关Android画图的相关操作,来具体了解一下图形界面的操作技巧,以此提高我们对这一系统的认知程度。importjava.io.InputStream;importandroid.app.Activity;importandroid.content.Contex... ...
目录
(为您整理了一些要点),点击可以直达。importjava.io.InputStream;
importandroid.app.Activity;
importandroid.content.Context;
importandroid.graphics.Bitmap;
importandroid.graphics.BitmapFactory;
importandroid.graphics.Canvas;
importandroid.graphics.Color;
importandroid.graphics.LinearGradient;
importandroid.graphics.Paint;
importandroid.graphics.PorterDuff;
importandroid.graphics.PorterDuffXfermode;
importandroid.graphics.Shader;
importandroid.graphics.Typeface;
importandroid.os.Bundle;
importandroid.view.View;
publicclassAlphaBitmapextendsActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(newSampleView(this));
}
privatestaticclassSampleViewextendsView{
privateBitmapmBitmap;
privateBitmapmBitmap2;
privateBitmapmBitmap3;
privateShadermShader;
privatestaticvoiddrawIntoBitmap(Bitmapbm){
floatx=bm.getWidth();
floaty=bm.getHeight();
//建一个有制定对象的画布
Canvasc=newCanvas(bm);
Paintp=newPaint();
//主要用来消除边缘吧从效果上看好像false的话有毛边
p.setAntiAlias(true);
p.setAlpha(0x555555);//灰色
c.drawCircle(x/2,y/2,x/2,p);
p.setAlpha(0x0000ff);//蓝色
p.setXfermode(newPorterDuffXfermode(PorterDuff.Mode.SRC_OVER));
//下面是字体的相关设置
p.setTextSize(20);
StringfamilyName="宋体";
Typefacefont=Typeface.create(familyName,Typeface.ITALIC);
p.setTypeface(font);
p.setTextAlign(Paint.Align.CENTER);
Paint.FontMetricsfm=p.getFontMetrics();
c.drawText("我爱android",x/2,(y-fm.ascent)/2,p);
}
publicSampleView(Contextcontext){
super(context);
setFocusable(true);
//得到图像的几种方法
InputStreamis=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=newLinearGradient(0,0,150,70,newint[]{
Color.RED,Color.GREEN,Color.BLUE},
null,Shader.TileMode.MIRROR);
}
@OverrideprotectedvoidonDraw(Canvascanvas){
canvas.drawColor(Color.LTGRAY);
Paintp=newPaint();
floaty=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中如何实现画图的详细内容,希望对您有所帮助,信息来源于网络。