



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Android中怎么實(shí)現(xiàn)畫圖
Android中怎么實(shí)現(xiàn)畫圖,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。在Android
操作系統(tǒng)開發(fā)中,對(duì)于圖形界面的操作時(shí)非常常見的一個(gè)基礎(chǔ)操作。我們可以先通過本文介紹的有關(guān)Android畫圖的相關(guān)操作,來具體了解一下圖形界面的操作技巧,以此提高我們對(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();
//
主要用來消除邊緣吧從效果上看
好像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);
}
}
}
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
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商標(biāo)使用權(quán)轉(zhuǎn)讓合同(三):長期合作
- 簡易勞動(dòng)合同簡易合同
- 合同糾紛處理與學(xué)生實(shí)踐活動(dòng)方案
- 水運(yùn)聯(lián)運(yùn)代理合同及條款
- 鋼結(jié)構(gòu)加工承攬合同模板
- 林業(yè)用地承包轉(zhuǎn)讓合同樣本
- 大學(xué)合同審簽表
- 抽紗工藝的環(huán)保與可持續(xù)性考核試卷
- 天然氣開采業(yè)的可再生能源轉(zhuǎn)型實(shí)踐與方案考核試卷
- 機(jī)床附件的標(biāo)準(zhǔn)化與規(guī)范化生產(chǎn)考核試卷
- 新蘇教版一年級(jí)下冊數(shù)學(xué)第1單元第3課時(shí)《8、7加幾》作業(yè)
- 2024年山東電力高等??茖W(xué)校高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 特殊教育學(xué)校2024-2025學(xué)年度第二學(xué)期教學(xué)工作計(jì)劃
- 寧夏銀川一中2025屆高三上學(xué)期第五次月考數(shù)學(xué)試卷(含答案)
- 2024年物聯(lián)網(wǎng)安裝調(diào)試員(初級(jí)工)職業(yè)資格鑒定考試題庫(含答案)
- 《設(shè)備科安全培訓(xùn)》課件
- 延長石油招聘筆試題庫
- 《平面廣告賞析》課件
- 糖尿病與飲酒
- 建筑安全施工勞動(dòng)保護(hù)考核試卷
- 烹飪工藝與營養(yǎng)基礎(chǔ)知識(shí)單選題100道及答案解析
評(píng)論
0/150
提交評(píng)論