Android實(shí)現(xiàn)Bitmap位圖旋轉(zhuǎn)效果
位圖的旋轉(zhuǎn)也可以借助Matrix或者Canvas來實(shí)現(xiàn)。
通過postRotate方法設(shè)置旋轉(zhuǎn)角度,然后用createBitmap方法創(chuàng)建一個(gè)經(jīng)過旋轉(zhuǎn)處理的Bitmap對(duì)象,最后用drawBitmap方法繪制到屏幕上,于是就實(shí)現(xiàn)了旋轉(zhuǎn)操作。
下面例子中把原位圖和經(jīng)旋轉(zhuǎn)處理的位圖都繪制到屏幕上,目的是做一個(gè)對(duì)比。

package xiaosi.bitmap;
import android.app.Activity;
import android.os.Bundle;
public class mianActivity extends Activity
{
private BitmapView bitmapView = null;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
bitmapView = new BitmapView(this);
setContentView(bitmapView);
}
}
BitmapView.Java
package xiaosi.bitmap;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.view.View;
public class BitmapView extends View
{
public BitmapView(Context context)
{
super(context);
}
//重寫onDraw方法
public void onDraw(Canvas canvas)
{
// 獲取資源文件的引用res
Resources res = getResources();
// 獲取圖形資源文件
Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.h);
// 設(shè)置canvas畫布背景為白色
canvas.drawColor(Color.BLACK);
// 在畫布上繪制縮放之前的位圖,以做對(duì)比
//屏幕上的位置坐標(biāo)是0,0
canvas.drawBitmap(bmp, 0, 0, null);
// 定義矩陣對(duì)象
Matrix matrix = new Matrix();
// 縮放原圖
matrix.postScale(1f, 1f);
// 向左旋轉(zhuǎn)45度,參數(shù)為正則向右旋轉(zhuǎn)
matrix.postRotate(-45);
//bmp.getWidth(), 500分別表示重繪后的位圖寬高
Bitmap dstbmp = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), 500,
matrix, true);
// 在畫布上繪制旋轉(zhuǎn)后的位圖
//放在坐標(biāo)為0,200的位置
canvas.drawBitmap(dstbmp, 0, 200, null);
}
}
源代碼下載:點(diǎn)擊打開鏈接
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- android中Bitmap用法(顯示,保存,縮放,旋轉(zhuǎn))實(shí)例分析
- Android使用Matrix旋轉(zhuǎn)圖片模擬碟片加載過程
- Android自定義View實(shí)現(xiàn)葉子飄動(dòng)旋轉(zhuǎn)效果(四)
- Android自定義View實(shí)現(xiàn)多片葉子旋轉(zhuǎn)滑動(dòng)(五)
- Android中利用matrix 控制圖片的旋轉(zhuǎn)、縮放、移動(dòng)
- Android 圖片縮放與旋轉(zhuǎn)的實(shí)現(xiàn)詳解
- Android UI之ImageView實(shí)現(xiàn)圖片旋轉(zhuǎn)和縮放
- Android實(shí)現(xiàn)圖片反轉(zhuǎn)、翻轉(zhuǎn)、旋轉(zhuǎn)、放大和縮小
- 基于Android 實(shí)現(xiàn)圖片平移、縮放、旋轉(zhuǎn)同時(shí)進(jìn)行
- Android實(shí)現(xiàn)旋轉(zhuǎn),放大,縮小圖片的方法
相關(guān)文章
Android studio button 按鈕 四種綁定事件的方法【實(shí)例代碼】
這篇文章主要介紹了Android studio button 按鈕 四種綁定事件的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08
Android SharedPreferences實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)功能
這篇文章主要為大家詳細(xì)介紹了Android SharedPreferences實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Android支持國際化多語言那點(diǎn)事(支持8.0+)
我們?cè)陂_發(fā)app可能會(huì)拓展國外市場(chǎng),那么對(duì)包含英語在內(nèi)的其它語言支持就很有必要了。這篇文章主要介紹了Android支持國際化多語言那點(diǎn)事(支持8.0+),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Android端內(nèi)數(shù)據(jù)狀態(tài)同步方案VM-Mapping詳解
這篇文章主要介紹了Android端內(nèi)數(shù)據(jù)狀態(tài)同步方案VM-Mapping詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09
android編程實(shí)現(xiàn)的自定義注釋模板實(shí)例
這篇文章主要介紹了android編程實(shí)現(xiàn)的自定義注釋模板,以完整實(shí)例形式分析了Android自定義魔板的定義及具體實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2015-11-11
Android 百度地圖定位實(shí)現(xiàn)仿釘釘簽到打卡功能的完整代碼
這篇文章主要介紹了Android 百度地圖定位實(shí)現(xiàn)仿釘釘簽到打卡功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Android酷炫動(dòng)畫效果之3D星體旋轉(zhuǎn)效果
本文要實(shí)現(xiàn)的3D星體旋轉(zhuǎn)效果是從CoverFlow演繹而來,不過CoverFlow只是對(duì)圖像進(jìn)行轉(zhuǎn)動(dòng),我這里要實(shí)現(xiàn)的效果是要對(duì)所有的View進(jìn)行類似旋轉(zhuǎn)木馬的轉(zhuǎn)動(dòng)2018-05-05
android將搜索引擎設(shè)置為中國雅虎無法搜索問題解決方法
android 進(jìn)入搜索,將搜索引擎設(shè)置為中國雅虎,無法搜索到相關(guān)網(wǎng)絡(luò)結(jié)果,該問題是由于yahoo的搜索接口改變導(dǎo)致,具體解決方法如下,感興趣的朋友可以參考下哈2013-06-06
ScrollView與ListView合用(正確計(jì)算Listview的高度)的問題解決
最近做項(xiàng)目中用到ScrollView和ListView一起使用的問題,顯示的時(shí)候ListView不能完全正確的顯示,查了好多資料終于成功解決:2013-05-05

