編輯:關於Android編程
什麼叫創建圖片的副本? 因為我們直接從BitmapFactory取出來的圖片是可讀的,是不可以修改的。 假設用戶想修改這張圖片,一般是先根據原圖在內存中創建和原圖一模一樣大小的圖片,然後在上面修改,用戶感覺好像是在原圖上修改了,其實不然。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1: 先需要獲取到原圖片. 注意:我們獲得的圖片是只讀的,是不能寫的,如果想修改圖片,就得創建圖片的copy
Bitmap bmsRc = BitmapFactory.decodeResource(getResources(), R.drawable.abc);
//2:創建圖片的copy,可以在內存中創建一個和原圖一模一樣大小的bitmap
Bitmap bmCopy = Bitmap.createBitmap(bmsRc.getWidth(), bmsRc.getHeight(), bmsRc.getConfig());
//2.1 創建一個畫筆
Paint paint = new Paint();
//2.2 創建畫板對象
Canvas canvas = new Canvas(bmCopy);
//2.3 開始繪制和原圖一模一樣
canvas.drawBitmap(bmsRc, new Matrix(), paint);
//在圖片上繪制一條直線,代表圖片的副本是可以修改的
canvas.drawLine(30, 30, 400, 400, paint);
ImageView iv_src = (ImageView) findViewById(R.id.lv1);
ImageView iv_copy = (ImageView) findViewById(R.id.lv2);
//顯示
iv_src.setImageBitmap(bmsRc);
iv_copy.setImageBitmap(bmCopy);
}
}
其實創建圖片的副本很簡單,就如上代碼描述一樣
效果圖如下:

可以明顯的看見,第二張圖片是可以修改的。
Android中TelephonyManager類的用法案例詳解
本文以案例形式分析了Android中TelephonyManager類的用法。分享給大家供大家參考。具體如下:目錄結構:main.xml布局文件:<?xml
支持下拉刷新和上劃加載更多的自定義RecyclerView(仿XListView效果)
首先看效果下拉刷新: 上劃加載 在項目更新的過程中,遇到了一個將XListView換成recyclerView的需求,而且更換完之後大體效果不能變,但是對於下拉刷新這樣的
Android簡易實戰教程--第三十話《撕衣美女》
此篇邪惡一些,給單身屌絲發點“福利”,通過圖片的繪制,給美女脫掉衣服。原理:圖片覆蓋圖片,通過畫筆對頂端的圖片做一些特效處理,即手指觸摸的地方,設
榮耀8和榮耀v8有什麼不同 榮耀8和榮耀v8買哪個好
榮耀8和榮耀v8有什麼不同?榮耀8發布後,和之前的發布的榮耀v8有什麼不一樣?相信很多人都有這樣的疑問,其實總的一句話就可以概括了:榮耀8主打小屏旗艦,榮耀