ImageView可以放大縮小,也可以通過(guò)Scaletype這個(gè)屬性來(lái)指定。
創(chuàng)新互聯(lián)建站專注于滄州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供滄州營(yíng)銷型網(wǎng)站建設(shè),滄州網(wǎng)站制作、滄州網(wǎng)頁(yè)設(shè)計(jì)、滄州網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造滄州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供滄州網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
Scaletype的設(shè)置的方式包括:
1. 在layout xml中定義android:scaleType="CENTER"
2. 或在代碼中調(diào)用imageView.setScaleType(ImageView.ScaleType.CENTER);
Scaletype的取值和區(qū)別:
1. SetScaleType(ImageView.ScaleType.CENTER);
按圖片的原來(lái)size居中顯示,當(dāng)圖片長(zhǎng)/寬超過(guò)View的長(zhǎng)/寬,則截取圖片的居中部分顯示
2. SetScaleType(ImageView.ScaleType.CENTER_CROP);
按比例擴(kuò)大圖片的size居中顯示,使得圖片長(zhǎng)(寬)等于或大于View的長(zhǎng)(寬)
3. setScaleType(ImageView.ScaleType.CENTER_INSIDE);
將圖片的內(nèi)容完整居中顯示,通過(guò)按比例縮小或原來(lái)的size使得圖片長(zhǎng)/寬等于或小于View的長(zhǎng)/寬
4. setScaleType(ImageView.ScaleType.FIT_CENTER);
把圖片按比例擴(kuò)大/縮小到View的寬度,居中顯示
5. FIT_START, FIT_END在圖片縮放效果上與FIT_CENTER一樣,只是顯示的位置不同,F(xiàn)IT_START是置于頂部,F(xiàn)IT_CENTER居中,F(xiàn)IT_END置于底部。
在此就不給出示例了。
6. FIT_XY
不按比例縮放圖片,目標(biāo)是把圖片塞滿整個(gè)View。
其實(shí)如果圖片像素比較高的話是不會(huì)影響他的清晰度的,一般都是用的bitmap位圖,矩陣像素。所以你要求圖片放大后還是很清晰,那么只能要求原圖片的像素比較高,而并不能通過(guò)其他的操作來(lái)實(shí)現(xiàn)清晰度的變化!
ANDROID有一個(gè)放大鏡的圖標(biāo),你點(diǎn)擊加就放大,點(diǎn)擊減就縮小,或者用兩只手滑大滑小。
使用位圖(Bitmap)再重新繪制遍
//原位圖
Bitmap btm1 = BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.hh);
BitmapDrawable bd1=BitmapDrawable(btm1);
imageView.setBackgroundDrawable(bd1);
放大后 滑動(dòng)時(shí)計(jì)算 圖片的邊是否在屏幕外,如果在屏幕外就可移動(dòng),比如 向上滑動(dòng),是想看圖片下面的部分,此時(shí)計(jì)算圖片的底邊是否在屏幕外,如果是,就可以向上移動(dòng)圖片。
Scaletype的設(shè)置的方式包括:
1、在layout xml中定義android:scaleType="CENTER"
2、或在代碼中調(diào)用imageView.setScaleType(ImageView.ScaleType.CENTER);
擴(kuò)展資料:
根據(jù)位深度,可將位圖分為1、4、8、16、24及32位圖像等。每個(gè)像素使用的信息位數(shù)越多,可用的顏色就越多,顏色表現(xiàn)就越逼真,相應(yīng)的數(shù)據(jù)量越大。
例如,位深度為 1 的像素位圖只有兩個(gè)可能的值(黑色和白色),所以又稱為二值位圖。位深度為 8 的圖像有 2^8(即 256)個(gè)可能的值。位深度為 8 的灰度模式圖像有 256 個(gè)可能的灰色值。
RGB圖像由三個(gè)顏色通道組成。8 位/通道的 RGB 圖像中的每個(gè)通道有 256 個(gè)可能的值,這意味著該圖像有 1600 萬(wàn)個(gè)以上可能的顏色值。
有時(shí)將帶有 8 位/通道 (bpc) 的 RGB 圖像稱作 24 位圖像(8 位 x 3 通道 = 24 位數(shù)據(jù)/像素)。通常將使用24位RGB組合數(shù)據(jù)位表示的的位圖稱為真彩色位圖。
參考資料來(lái)源:百度百科-Bitmap
先上效果圖
1.為了實(shí)現(xiàn)圖片的放到縮小,我選擇了 PhotoView 框架用于顯示圖片。
2.使用 Glide 框架加載圖片
3.實(shí)現(xiàn)原理:
通過(guò)自定義View繼承FrameLayout,以PhotoView作為背景,動(dòng)態(tài)添加ImageView作為點(diǎn)。
4.主要分析:
1)標(biāo)簽隨圖片移動(dòng):通過(guò)實(shí)現(xiàn)PhotoView的OnMatrixChangedListener接口,監(jiān)聽圖片的位置及大小,動(dòng)態(tài)設(shè)置標(biāo)簽的位置
2)點(diǎn)擊圖片任意位置,在此位置生成標(biāo)簽,
3)標(biāo)簽添加后,會(huì)導(dǎo)致布局重新測(cè)量,此時(shí)會(huì)導(dǎo)致已經(jīng)放大的圖片回到初始的位置及大小,在onLayout方法中重新設(shè)置photoView的Matrix。
矩形框的實(shí)現(xiàn)原理類似,難點(diǎn)就是在給icon添加了移動(dòng)監(jiān)聽,保證icon可隨處移動(dòng)
下面是源碼地址
帶,但同時(shí)你也要自己寫事件監(jiān)聽,有方法可以實(shí)現(xiàn)??梢灾苯诱{(diào)用.流程是得到一個(gè)view,然后view.setImageMatrix(Matrix m).然后創(chuàng)建一個(gè)matrix,matrix.postScale(s1,s2,x,y);s1,s2是橫向縮放比例,s2是縱向縮放比例,x,y是中心點(diǎn)的坐標(biāo)??s放比例大于1,就是放大,小于1是縮小 .
用matrix類進(jìn)行縮放 然后canvas畫出來(lái)好了
網(wǎng)頁(yè)標(biāo)題:android圖片放大,android 放大圖片
轉(zhuǎn)載注明:http://www.rwnh.cn/article28/dscogjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、虛擬主機(jī)、品牌網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司、App設(shè)計(jì)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)