新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Android畫圖技巧應(yīng)用方式分析
在Android 操作系統(tǒng)開發(fā)中,對(duì)于圖形界面的操作時(shí)非常常見的一個(gè)基礎(chǔ)操作。我們可以先通過本文介紹的有關(guān)Android畫圖的相關(guān)操作,來具體了解一下圖形界面的操作技巧,以此提高我們對(duì)這一系統(tǒng)的認(rèn)知程度。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比墨玉網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式墨玉網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋墨玉地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。
- 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();
- // 主要用來消除邊緣吧從效果上看 好像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("我愛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);
- }
- }
- }
如果把一幅圖片變成一個(gè)可變圖片之后,就可以在圖片上打上自己的印記了,這里就不寫了。這個(gè)程序主要是 怎么自己畫一個(gè)圖片,可以用在圖片上畫,也可以就如同一張白紙自己畫,同時(shí)還有一個(gè)函數(shù),可以用來提取外形的。
本文題目:Android畫圖技巧應(yīng)用方式分析
路徑分享:http://fisionsoft.com.cn/article/dhigjgp.html


咨詢
建站咨詢
