當前位置:首頁 » 安卓系統 » android畫布

android畫布

發布時間: 2022-01-11 01:16:24

Ⅰ android canvas有層的概念么怎麼定義多層,我定義了兩個畫布,但是只顯示其中一個畫布的內容。

兩個畫布是重疊的么?沒有重疊的話可以寫到xml里聲明為組件

Ⅱ android中paint如何設置背景圖片

1.創建一個背景圖大小的Bitmap Bitmap bitmap=Bitmap.createBitmap(X, Y, Config.ARGB_8888);

2.Canvas canvas=new Canvas(bitmap); //創建畫布Paint paint=new Paint(); //畫筆

3。在canvas上畫東西取得背景圖片的Bitmap canvas.drawBitmap(backgroundBitmap, Rect , Rect , paint);
按照上面的步驟就可以設置背景圖片了

Ⅲ android 我用一張圖片做畫布,要在這張圖片上畫三個矩形 可是卻只畫出一個矩形

你的方法不對,drawRect(left, top, right, bottom, paint) 這個方法本來就是畫矩形的,其中上下左右四個坐標點代表它的四個頂點。

Ⅳ Android 關於畫布canvas刷新的問題

java">SurfaceHoldersh=SomeView.this.getHolder();
Canvascanvas=sh.lockCanvas();
try{
synchronized(sh){
onDraw(canvas);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
if(null!=canvas){
sh.unlockCanvasAndPost(canvas);
}
}

Ⅳ Android繪制圖片的幾種方式

在android中做圖像鏡像有很多方法,今天算是學習了!
兩種方法如下:

復制代碼 代碼如下:

//方法一
Matrix matrix = new Matrix();
matrix.postScale(leftOrRight, 1, bmpW/2, bmpH/2);//前兩個是xy變換,後兩個是對稱軸中心點
matrix.postTranslate(x, y);
canvas.drawBitmap(bmpLuffy[0], matrix, paint);
//方法二
// canvas.save();
// canvas.scale(-1, 1, x + bmpLuffy[0].getWidth() / 2, y + bmpLuffy[0].getHeight() / 2);
// canvas.drawBitmap(bmpLuffy[0], x, y, paint);
// canvas.restore();

方法一,使用矩陣的方式(3x3)矩陣:
1、先使用postScale的方式將圖片以點(bmpW/2,bmpH/2)為中心,以x=bmpW/2為對稱軸翻轉;
2、使用postTranslate,將圖片移到(x,y)坐標
方法二,畫布翻轉(略)
注意如下問題:
對於其中的bmpW和bmpH是指所用圖片的寬高,需要使用圖片bmp.getWidth()和bmp.getHeight()獲取,
不能使用PC上看到的大小,否則可能會出現錯位!

Ⅵ android 畫圖片的幾種方法

方法:

1.使用Xfermode 兩圖相交方式

2.通過裁剪畫布區域實現指定形狀的圖形

3.使用BitmapShader

Ⅶ android開發問題: 在Activity主界面繪制畫布,可是它把整個窗口都覆蓋掉了,怎麼設定畫布的窗口大小呢(

你是說View占滿了整個屏幕嗎?這樣的話就只能在layout中寫一個布局文件,將View以一種組件的方式聲明到.xml文件中,然後你可以在它的上下中聲明其他的button或者textview或者ImageButton等。

Ⅷ android canvas一定要設置具體的畫布嗎canvas是畫在屏幕上還是畫在bitmap上求詳解

簡短的說就像text框要輸入文字一樣,你必須先讓text取得焦點,獲得游標才能進行輸入

bitmap就像畫布,canvas就像畫筆。要畫畫就要知道畫在哪裡,所以必須要畫布。
view的onDraw的canvas是花在view的背景上,也是類似bitmap上。
緩沖是在另一個後台bitmap上畫好在進行展示

以上代表個人通俗理解只做參考理解,不是標准

Ⅸ android畫布

canvas.drawRect(100,100,100,100, paint); 坐標不對,沒有畫開

Ⅹ android實現一個簡單的畫布,可以用手指畫線條。

public class DrawView extends View {
Context mycontext;
int toasttime = 1000*60;
boolean enabletoast = true;
//之前的坐標
float preX;
float preY;
//路徑
private Path path;
//畫筆
public Paint paint = null;
//默認畫布大小
public static int VIEW_WIDTH = 500;
public static int VIEW_HEIGHT = 600;
//
Bitmap cacheBitmap = null;
//
Canvas cacheCanvas = null;

public DrawView(Context context, AttributeSet set) {
super(context, set);
mycontext = context;
cacheBitmap = Bitmap.createBitmap(VIEW_WIDTH, VIEW_HEIGHT,
Config.ARGB_8888);
cacheCanvas = new Canvas();

path = new Path();
cacheCanvas.setBitmap(cacheBitmap);

paint = new Paint(Paint.DITHER_FLAG);
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(1);
paint.setAntiAlias(true);
paint.setDither(true);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();

switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
path.moveTo(x, y);
preX = x;
preY = y;
break;
case MotionEvent.ACTION_MOVE:
path.quadTo(preX, preY, x, y);
preX = x;
preY = y;
break;
case MotionEvent.ACTION_UP:
cacheCanvas.drawPath(path, paint);
path.reset();
if(enabletoast == false){

}
break;
}
invalidate();
return true;
}

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint bmpPaint = new Paint();
canvas.drawBitmap(cacheBitmap, 0, 0, bmpPaint);
canvas.drawPath(path, paint);
}

}

熱點內容
Python高清 發布:2024-11-13 08:41:20 瀏覽:737
阿里雲伺服器很慢 發布:2024-11-13 08:29:27 瀏覽:720
老年公寓項目醫療怎麼配置 發布:2024-11-13 07:58:24 瀏覽:948
破解加密視頻的工具 發布:2024-11-13 07:40:37 瀏覽:94
java對日 發布:2024-11-13 07:26:44 瀏覽:191
為什麼安卓手機像素突然變差 發布:2024-11-13 07:23:33 瀏覽:647
javaxml加密 發布:2024-11-13 07:23:22 瀏覽:197
安卓手機怎麼執行dex文件 發布:2024-11-13 07:16:40 瀏覽:901
iphone的視頻文件夾 發布:2024-11-13 07:15:02 瀏覽:775
王牌競速兌換禮包密碼是多少 發布:2024-11-13 07:13:07 瀏覽:987