Download presentation
Presentation is loading. Please wait.
Published byDwain Dixon Modified over 9 years ago
1
ANDROID 中的 2D 繪圖 作者:陳鍾誠
2
ANDROID 架構與 2D 繪圖 SGL: 繪圖引擎 Surface Manager 繪圖管理者
3
2D 繪圖的相關物件 視覺元件 View : 基本視覺元件 Surface View : 雙重緩衝的 View 繪圖物件 Canvas : 畫布 Bitmap : 圖檔 Paint : 畫筆 執行緒 Thread Handler
4
View View : (android.view.View) 2D 繪圖主要函數 onDraw(Canvas canvas) 其他函數 onFinishInflate() onMeasure(int, int) onLayout(boolean, int, int, int, int) onSizeChanged(int, int, int, int) onKeyDown(int, KeyEvent) onKeyUp(int, KeyEvent) onTrackballEvent(MotionEvent) onTouchEvent(MotionEvent) onFocusChanged(boolean, int, Rect) onWindowFocusChanged(boolean) onAttachedToWindow() onDetachedFromWindow() onWindowVisibilityChanged(int) http://developer.android.com/reference/android/view/View.html 內部類別 View.BaseSavedState View.MeasureSpec 事件 View.OnClickListener View.OnCreateContextMenuListen er View.OnFocusChangeListener View.OnKeyListener View.OnLongClickListener View.OnTouchListener
5
Canvas android.graphics.Canvas drawARGB(…) drawArc(…) drawBitmap(…) drawBitmapMesh(…) drawCircle(…) drawColor(…) drawLine(…) drawLines(…) drawOval(…) drawPaint(…) drawPath(…) drawPicture(…) http://developer.android.com/reference/android/graphics/Canvas.ht ml drawPoint(…) drawPoints(…) drawPosText(…) drawRect(…) drawRoundRect(…) drawText(…) drawTextOnPath(…) drawVertices(…) freeGlCaches(…) getClipBounds(…) getDensity() setBitmap() setDensity() setDrawFilter() clipPath(...) clipRect(...) clipRegion(...) concat(...) getGL() getHeight() getMatrix() getSaveCount() getWidth() isOpaque() quickReject( restore() restoreToCount() rotate() save() saveLayer( saveLayerAlpha( scale() setMatrix() setViewport() skew() translate()
6
Bitmap android.graphics.Bitmap compress() copy() copyPixelsFromBuffer() copyPixelsToBuffer() createBitmap() createScaledBitmap() describeContents() eraseColor() extractAlpha() getConfig() getDensity() getHeight() getNinePatchChunk() getPixel() getRowBytes() getScaledHeight() getScaledWidth() getWidth() hasAlpha() isMutable() isRecycled() prepareToDraw() recycle() setDensity() setPixel() setPixels() writeToParcel() http://developer.android.com/reference/android/graphics/Bitmap.html
7
Paint android.graphics.Paint ascent() breakText() clearShadowLayer() descent() getAlpha() getColor() getColorFilter() getFillPath() getFlags() getFontMetrics() getFontMetricsInt() getFontSpacing() getMaskFilter() getPathEffect() getRasterizer() getShader() getStrokeCap() getStrokeJoin() getStrokeMiter() getStrokeWidth() getStyle() getTextAlign() getTextBounds() getTextPath() getTextScaleX() getTextSize() getTextSkewX() getTextWidths() http://developer.android.com/reference/android/graphics/Paint.html getTextWidths() getTypeface() getXfermode() isAntiAlias() isDither() isFakeBoldText() isFilterBitmap() isLinearText() isStrikeThruText() isSubpixelText() isUnderlineText() measureText() reset() set() setARGB() setAlpha() setAntiAlias() setColor() setColorFilter() setDither() setFakeBoldText() setFilterBitmap() setFlags() setLinearText() setMaskFilter() setPathEffect() setRasterizer() setShader() setShadowLayer() setStrikeThruText() setStrokeCap() setStrokeJoin() setStrokeMiter() setStrokeWidth() setStyle() setSubpixelText() setTextAlign() setTextScaleX() setTextSize() setTextSkewX() setTypeface() setUnderlineText() setXfermode()
8
2D 繪圖範例程式
9
2D 繪圖範例程式 – 原始碼
10
2D 繪圖範例程式 – 原始碼重點
11
結語 相關物件 View : 基本視覺元件 Surface View : 雙重緩衝的 View Canvas : 畫布 Bitmap : 圖檔 Paint : 畫筆 Canvas 的重要函數 drawLine(); drawRect() drawCircle() drawText() drawBitmap()
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.