Android中bitmap的相關處理

來源:互聯網
上載者:User

標籤:android   blog   color   java   os   io   檔案   for   

載入大圖片Options options=new Options();options.inJustDecodeBounds=true;//不載入圖片,只負載檔案資訊//載入圖片,擷取到配置資訊BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+"/a.jpg",options);int width=options.outWidth;//擷取到圖片的真是寬度int height=options.outHeight;//擷取到圖片的真是的高度//擷取到手機螢幕顯示對象Display display = getWindowManager().getDefaultDisplay();int h = display.getHeight();//擷取螢幕的高度int w = display.getWidth();//擷取到平局的寬度//計算縮放的比率int scale=1;int scaley=width/w;int scalex=height/h;if(scalex<1 && scaley<1){}else{//如果縮放的寬,大於高,則安照寬的縮放比率,因為高的縮放比率小,那麼按照高的縮放比率的話,寬則超出了螢幕的寬scale=scalex>scaley?scalex:scaley;}options.inJustDecodeBounds=true;options.inSampleSize=scale;//指定縮放比率//根據配置資訊,重建有一個bitmap對象,這就得到的是縮放之後的圖片Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+"/a.jpg",options);img.setImageBitmap(bitmap);塗鴉        1、首先載入一個圖片Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + "/a.jpg");2.建立一個空的圖片,bit = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(),bitmap.getConfig());3.建立一個畫布,Canvas canvas=new Canvas(bit);4.建立一個畫筆 panint paint=new Paint(); paint.setcolor(Color.red);5.把載入的圖片畫到畫布上 canvas.drawBitmap(bitmap)6.在圖片上設定觸摸事件,根據按下和移動的位置開始畫線加浮水印和上面的一樣,只是加了一句canvas.drawText("餓哦我到底發生", 100,100, paint);
儲存圖片通知相簿掃描該圖片bit.compress(CompressFormat.JPEG, 100, new FileOutputStream(Environment.getExternalStorageDirectory()+"/hdksh.jpg"));Intent intent=new Intent();intent.setAction("android.intent.action.MEDIA_MOUNTED");intent.setData(Uri.fromFile(new File(Environment.getExternalStorageDirectory()+"hdksh.jpg")));sendBroadcast(intent);//發送廣播,通知相簿掃描
圖片的旋轉Bitmap bitmap=BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+"/mm.jpg");Bitmap bit = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());Canvas canvas=new Canvas(bit);Matrix matrix=new Matrix();matrix.setRotate(180, bitmap.getWidth()/2, bitmap.getHeight()/2);Paint paint=new Paint();paint.setColor(Color.RED);canvas.drawBitmap(bitmap, matrix, paint);img.setImageBitmap(bit)
鏡面效果Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+"/mm.jpg");Bitmap bit = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());Canvas canvas=new Canvas(bit);Paint paint=new Paint();Matrix matrix=new Matrix();matrix.setScale(-1, 1);//反轉matrix.postTranslate(bitmap.getWidth(), 0);//移動canvas.drawBitmap(bitmap, matrix, paint);img.setImageBitmap(bit);

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.