Android實(shí)現(xiàn)旋轉(zhuǎn),放大,縮小圖片的方法
本文實(shí)例講述了Android實(shí)現(xiàn)旋轉(zhuǎn),放大,縮小圖片的方法。分享給大家供大家參考,具體如下:
項(xiàng)目中需要做到一個預(yù)覽圖片的功能
最初設(shè)想自定義個一個view,在onDraw中用的是生成新的Bitmap,來放大,縮小
但由于手機(jī)內(nèi)存是有限制的,在放大幾倍以后,就會core掉。
后面直接選用imageview來完成此項(xiàng)任務(wù),很遺憾,雖然不會重復(fù)生成bitmap導(dǎo)致core掉,但是imageview的大小限制是圖片無法再放大或放大也只能在這個區(qū)域中。
最后選定用 當(dāng)然 Drawable來做了
private Drawable image;
private int picWidth;
private int picHeight;
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//圖片縮放使用 picwidth,picheight來控制
int l = (getWidth() - picWidth) / 2;
int r = (getWidth() + picWidth) / 2;
int t = (getHeight() - picHeight) / 2;
int b = (getHeight() + picHeight) / 2;
image.setBounds(l, t, r, b);
canvas.rotate(rotateDegre, getWidth() / 2, getHeight() / 2); //旋轉(zhuǎn)圖片
image.draw(canvas);
}
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android圖形與圖像處理技巧總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
Android開發(fā)學(xué)習(xí)筆記 Gallery和GridView淺析
這篇文章主要介紹了Android開發(fā)學(xué)習(xí)筆記 Gallery和GridView淺析,需要的朋友可以參考下2014-11-11
android自定義view實(shí)現(xiàn)圓周運(yùn)動
這篇文章主要為大家詳細(xì)介紹了android自定義view實(shí)現(xiàn)逆時針和順時針轉(zhuǎn)動的圓周運(yùn)動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-03-03
SimpleCommand實(shí)現(xiàn)圖片下載(二)
這篇文章主要為大家詳細(xì)介紹了SimpleCommand實(shí)現(xiàn)圖片下載,并顯示到ImageView控件上,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10
???????Android?H5通用容器架構(gòu)設(shè)計詳解
這篇文章主要介紹了???????Android?H5通用容器架構(gòu)設(shè)計詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09
Android常用控件ImageSwitcher使用方法詳解
這篇文章主要為大家詳細(xì)介紹了Android常用控件ImageSwitcher的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08
基于Flutter制作一個長按展示操作項(xiàng)面板的桌面圖標(biāo)
Flutter是一種強(qiáng)大的跨平臺移動應(yīng)用程序框架,它能夠幫助開發(fā)者輕松地創(chuàng)建漂亮、快速、高效的應(yīng)用程序,本文的主題是如何在Flutter中制作一個長按展示操作項(xiàng)面板的桌面圖標(biāo),在某些場景下,這個功能會讓應(yīng)用程序更加便利和易用2023-06-06

