您好,登錄后才能下訂單哦!
這篇文章主要介紹“Android中如何實(shí)現(xiàn)畫圖”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Android中如何實(shí)現(xiàn)畫圖”文章能幫助大家解決問(wèn)題。
在Android 操作系統(tǒng)開(kāi)發(fā)中,對(duì)于圖形界面的操作時(shí)非常常見(jiàn)的一個(gè)基礎(chǔ)操作。我們可以先通過(guò)本文介紹的有關(guān)Android畫圖的相關(guān)操作,來(lái)具體了解一下圖形界面的操作技巧,以此提高我們對(duì)這一系統(tǒng)的認(rèn)知程度。
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();
// 建一個(gè)有制定對(duì)象的畫布
Canvas c = new Canvas(bm);
Paint p = new Paint();
// 主要用來(lái)消除邊緣吧從效果上看 好像false的話有毛邊
p.setAntiAlias(true);
p.setAlpha(0x555555);//灰色
c.drawCircle(x/2, y/2, x/2, p);
p.setAlpha(0x0000ff);//藍(lán)色
p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_OVER));
// 下面是字體的相關(guān)設(shè)置
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("我愛(ài)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);
//從一幅圖像抽取色值變?yōu)樾碌膱D像,一般是畫筆的顏色 同下面
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);
}
}
}
關(guān)于“Android中如何實(shí)現(xiàn)畫圖”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。