日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android开发】图形图像处理技术-绘制几何图形

發(fā)布時間:2025/7/14 Android 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android开发】图形图像处理技术-绘制几何图形 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
常見的幾何圖形包括點、線、弧、矩形等。在Android中,Canvas類提供了豐富的繪制幾何圖形的方法,通過這些方法,可以繪制出各種幾何圖形。常用的幾何圖形的繪制方法如下所示:
1. 畫一個圓使用的是drawCircle:canvas.drawCircle(cx, cy, radius, paint);x、y代表坐標、radius是半徑、paint是畫筆,就是畫圖的顏色;

2. 在畫圖的時候還要有注意,你所畫的矩形是實心(paint.setStyle(Paint.Style.FILL))還是空心(paint.setStyle(Paint.Style.STROKE);

畫圖的時候還有一點,那就是消除鋸齒:paint.setAntiAlias(true);

3. 還有就是設置一種漸變顏色的矩形:
? ? ?Shader mShader = new LinearGradient(0,0,100,100, new int[]{Color.RED,Color.GREEn,Color.BLUE,Color.YELLO},null,Shader.TileMode.REPEAT);
ShapeDrawable sd;

//畫一個實心正方形

sd = new ShapeDrawable(new RectShape());

sd.setBounds(20,20,100,100);

sd.draw(canvas);

//一個漸變色的正方形就完成了

4. 正方形:drawRect:canvas.drawRect(left, top, right, bottom, paint)

這里的left、top、right、bottom的值是:

left:是矩形距離左邊的X軸

top:是矩形距離上邊的Y軸

right:是矩形距離右邊的X軸

bottom:是矩形距離下邊的Y軸

5. 長方形:他和正方形是一個原理,這個就不用說了

6. 圓角矩形:drawRoundRect(RectF rect,float rx,float ry,Paint paint);
例子:RectF ?rectf=new RectF(40,20,80,40);?
canvas.drawRonudRect(rectf,6,6,paint);

7. 橢圓形:記住,這里的Rectf是float類型的

RectF re = new Rect(left, top, right, bottom);
canvas.drawOval(re,paint);

8.繪制一條線:drawLine(float startX,float startY,float stopX,float stopY, paint);

9.繪制多條線:drawLine(float[] pts,Paint paint);
例子:(繪制出了一個三角形)
drawLine(new float[]{10,10,30,10,30,10,15,30,15,30,10,10},paint);

10.繪制一個點:drawPoints(float x,float y,Paint paint)


設置Paint畫筆的例子:
Paint paint=new Paint();//創(chuàng)建一個采用默認設置的畫筆 paint.setAntiAlias(true);//使用抗鋸齒的功能 paint.setColor(Color.RED);//設置顏色為紅色 paint.setStrokeWidth(2);//筆觸的寬度為2像素 paint.setStyle(Style.STROKE);//填充樣式為描邊(實心是Style.FILL)
下面用一個實例來應用Canvas的繪制功能,繪制一個由5種不同顏色的圓形組成圖案

用來顯示自定義的繪圖類的布局文件
res/layout/main.xml:
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="fill_parent"android:layout_height="fill_parent"android:id="@+id/frameLayout1"android:orientation="vertical"></FrameLayout>
打開MainActivity,在文件中創(chuàng)建名為MyView的內部類,繼承android.view.View類,并添加構造方法和重寫onDraw(Canvas canvas)方法,在里面進行作圖:
MainActivity:
package com.example.test; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Style; import android.os.Bundle; import android.view.View; import android.widget.FrameLayout;public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //獲取布局文件中添加的幀布局管理器FrameLayout ll=(FrameLayout)findViewById(R.id.frameLayout1);//將自定義的MyView視圖添加到幀布局ll.addView(new MyView(this));} public class MyView extends View{public MyView(Context context) {super(context);// TODO Auto-generated constructor stub}@Overrideprotected void onDraw(Canvas canvas) {canvas.drawColor(Color.WHITE);//指定畫布的背景顏色為白色Paint paint=new Paint();//創(chuàng)建采用默認的畫筆paint.setAntiAlias(true);//使用抗鋸齒功能paint.setStrokeWidth(3);//設置筆觸的寬度paint.setStyle(Style.STROKE);//設置填充樣式為描邊paint.setColor(Color.BLUE);//設置畫筆顏色canvas.drawCircle(50, 50, 30, paint);//繪制藍色的圓形paint.setColor(Color.YELLOW);//設置畫筆顏色canvas.drawCircle(100, 50, 30, paint);//繪制黃色的圓形paint.setColor(Color.BLACK);//設置畫筆顏色canvas.drawCircle(150, 50, 30, paint);//繪制黑色的圓形paint.setColor(Color.GREEN);//設置畫筆顏色canvas.drawCircle(75, 90, 30, paint);//繪制綠色的圓形paint.setColor(Color.RED);//設置畫筆顏色canvas.drawCircle(125, 90, 30, paint);//繪制紅色的圓形super.onDraw(canvas);}} }

效果如圖


轉載請注明出處:http://blog.csdn.net/acmman/article/details/45177289

總結

以上是生活随笔為你收集整理的【Android开发】图形图像处理技术-绘制几何图形的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。