Android path.op 和canvas.clipPath使用一例
因為path.op是Api19新增的,所以想要在Api19以下實現同樣功能需要 採用畫布的clip實現
path.op(path2, Path.Op.DIFFERENCE);
path.op(path3, Path.Op.UNION);
path.op(path4, Path.Op.DIFFERENCE);
VS
canvas.clipPath(path2, Region.Op.DIFFERENCE);
canvas.clipPath(path3,Region.Op .UNION);
canvas.clipPath(path4,Region.Op.DIFFERENCE);
ALL:
private void drawPathOpTest(Canvas canvas) {
Path path = new Path();
Path path2 = new Path();
Path path3 = new Path();
Path path4 = new Path();
path.addCircle(0, 0, 200, Path.Direction.CW);//最大的圓
path2.addRect(0, -200, 200, 200, Path.Direction.CW);//右邊矩形
path3.addCircle(0, -100, 100, Path.Direction.CW);//上面的小圓
path4.addCircle(0, 100, 100, Path.Direction.CCW);//下面的小圓
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
path.op(path2, Path.Op.DIFFERENCE);
path.op (path3, Path.Op.UNION);
path.op(path4, Path.Op.DIFFERENCE);
}else{
/**
* Api 19下采用畫布的clip實現
*/
canvas.clipPath(path2, Region.Op.DIFFERENCE);
canvas.clipPath(path3,Region.Op.UNION);
canvas.clipPath(path4,Region.Op.DIFFERENCE);
//canvas.clipRect()
}
canvas.drawPath(path, mPaint);
}
相關推薦
Android path.op 和canvas.clipPath使用一例
因為path.op是Api19新增的,所以想要在Api19以下實現同樣功能需要 採用畫布的clip實現 path.op(path2, Path.Op.DIFFERENCE)
Android中Paint和Canvas的簡單使用
在 Android 中,Canvas 相當於畫布,而 Paint 相當於畫筆;那麼這兩個配合使用就可以畫出來我們想要的形狀了。 首先我們新建一個類,名字叫 MyView,重寫 onDraw() 方法,程式碼如下: @SuppressLint("AppCompatCustomView") pu
Android的Paint和Canvas的使用總結
前言: 在自定義控制元件時,我們有時可能會用到Paint和Canvas這兩個類, Paint相當於我們在畫畫時的畫筆,Canvs相當於我們在畫畫時的畫布, 下面來簡單講一下這兩個類常見的一些用法 Paint的使用總結: setAlpha(int a): 設定畫筆的透明度
Android中java和smali轉化一鍵化操作工具java2smali原理分析
最近在小密圈中,有同學諮詢到如何快速的將java檔案轉化成smali檔案,因為我們知道在反編譯之
Android的Paint、Canvas和Path基本使用總結
繪畫是自定義View的基礎,Paint和canvas相當於繪畫中的畫筆和紙,掌握Paint和canvas可以使我們更加容易進行自定義View。 Paint: 一、setAntiAlias
Android:檢視繪製(一) ------基本的繪圖操作Paint和Canvas
大家都知道Android的UI很強大,各種系統控制元件和自定義控制元件,實現了很多絢麗的效果。而這些都離不開我們這篇文章講到的Paint和Canvas。 Android提供了Canvas(畫布)和Paint(畫筆)用來實現檢視的繪製工作。 之所以把P
Android雙緩衝繪圖 Bitmap和Canvas 一看就懂
package graphics; import java.util.Random; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.gr
高德地圖和canvas畫圖結合應用的一些感想(一)
記錄 src function lose poi pan 高德 工程師 根據地 之前朋友委托有個創業項目,想讓我幫忙,正好那段時間有點閑,半推半就中就答應下來了。 入了團隊才發現,該項目前後端分離,後端工程師已就位主要實現接口,IOS端工程師也已就位,還差一個web
Dual Path Networks(DPN)——一種結合了ResNet和DenseNet優勢的新型卷積網絡結構。深度殘差網絡通過殘差旁支通路再利用特征,但殘差通道不善於探索新特征。密集連接網絡通過密集連接通路探索新特征,但有高冗余度。
哪裏 esc 數學 itemid tip 視覺 bat tlist badge 如何評價Dual Path Networks(DPN)? 論文鏈接:https://arxiv.org/pdf/1707.01629v1.pdf在ImagNet-1k數據集上,淺DPN超過
android 圖片二維碼識別和保存(一)
style file 長按 oba 成了 qrc 保存圖片 hybrid bin 最新業務開發二維碼識別的功能,這個功能,在很多應用上都有,比如微信長按圖片識別二維碼,如果圖片中存在可以識別的二維碼時,可以增加一個選項 識別二維碼。那麽如何去實現這個功能呢。這裏其實也
React Native 中為IOS和Android設定不同的Style樣式,一套程式碼解決雙端顯示
React Native 開發中,大多數的元件都是IOS和Android通用的,包括大量的功能性程式碼,至少有80%以上的程式碼可以複用,而剩下的一些元件樣式/少量的程式碼會需要區分雙端,但是為了這少量的程式碼把IOS和Android完全區分這明顯不合適,程式碼複用性下降,程式碼維護量上升
福利!NodeJs爬取網路教程並生成PDF檔案,以阮一峰JavaScript教程和ES6教程為例(附原始碼和PDF檔案)
前言 你想一夜暴富嗎?你想一夜成名嗎?你想開蘭博基尼泡妞嗎?你想拿鈔票點菸嗎?你想成為世界主宰嗎?那麼,趕緊往下看吧,雖然它不能達成前面所說的任 何一個夢想,但是,你將獲得: 通過命令列將某網站的內容轉成PDF檔案 通過NodeJS爬蟲將某網路教程(例如阮一峰的JavaScript教程和ES6教
Android重新學習記錄和心得(一)--Handler
1.關於Handler,MessageQueue,Looper,Message 主要講了Handler的message傳送,訊息的同步非同步。以前只知道Handler可以傳送訊息,然後一般通過handlerMessage方法來接收各種訊息,發現其實Handler還可設定
小白學安卓(一):Android系統架構和應用開發特色
一、Android架構 Android大致可以分為四層架構: Linux核心層 系統執行庫層 應用框架層 應用層 Linux核心層 Android系統是基於Linux核心的,這一層為Android裝置的各種硬體提供了底層的驅動,如顯示驅動
Android 控制元件之 RecyclerView(一)—— 載入檢視和佈局選擇
本文目錄 一、概述 二、列表檢視的處理 1. item 的佈局檔案 2. 構造 Adapter 類 3. 佈局管理器 1)LinearLayoutManager 2)GridLayoutManager
【Android開源專案解析】QQ“一鍵下班”功能實現解析——學習Path及貝塞爾曲線的基本使用
早在很久很久以前,QQ就實現了“一鍵下班”功能。何為“一鍵下班”?當你QQ有資訊時,下部會有資訊數量提示紅點,點選拖動之後,就會出現“一鍵下班”效果。本文將結合github上關於此功能的一個簡單實現,介紹這個功能的基本實現思路。 專案地址
Android應用開發-資料儲存和介面展現(一)
常見佈局 相對佈局(RelativeLayout) 相對佈局下控制元件預設位置都是左上角(左對齊、頂部對齊父元素),控制元件之間可以重疊 可以相對於父元素上下左右對齊,相對於父元素水平居中、豎直居中、水平豎直同時居中 android:layout_alignParentRi
Android 百度地圖開發(一)如何呼叫百度地圖介面和在專案中顯示百度地圖以及實現定位
二、下載百度地圖API庫 然後新增到專案中即可。 三、在專案清單AndroidMainifest.xml配置百度地圖API key和新增相關許可權 四、在專案呼叫百度地圖專案功能,這篇文章就首先講講顯示地圖和定位的功能 首先
Android模組化和元件化開發簡單理解(一)
模組化和元件化可以理解為同一個概念: 將一個app分成多個模組,每個模組都是一個元件(module),開發過程中讓這些元件相互依賴或者單獨除錯某個元件。在釋出的時候將這些元件合併成一個apk。 Android元件化我的理解是 application與library之間相互
Android開發藝術探索筆記(一) Activity的生命週期和啟動模式(1)
Activity作為Android開發中最常用的一個元件,是Android開發人員必須熟悉且掌握的重要內容。同時Activity也是在面試中經常被問到的一個方向。因此,掌握Activity的重要性也不言而喻。這或許也是為什麼任大神會在《Android開發藝術探索