溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android 圖片處理縮放功能

發(fā)布時(shí)間:2020-10-21 17:25:41 來(lái)源:腳本之家 閱讀:140 作者:CMusketeer 欄目:移動(dòng)開(kāi)發(fā)

PS:在開(kāi)發(fā)中我們會(huì)遇到一些圖片處理問(wèn)題,比如說(shuō)緩存圖片了、限制圖片大小了、查看圖片了等。上一篇文章介紹了圖片的全景效果查看,今天介紹一個(gè)圖片縮放,我們?nèi)绻袝r(shí)間的話,可以自己寫(xiě)一個(gè)屬于自己的庫(kù),里面會(huì)用到view的按壓、事件分發(fā)、手勢(shì)等一些知識(shí),如果沒(méi)有時(shí)間或者不會(huì)其他的方法,不妨來(lái)看看這個(gè)PhotoView。這是一個(gè)圖片縮放庫(kù),對(duì)于這樣的還有GitView等,下面我就介紹一些用法。

功能:

  • 正常加載圖片
  • 雙擊放大
  • 手勢(shì)隨意縮放
  • 隨意拖動(dòng)查看圖片每一個(gè)角落
  • 結(jié)合其他設(shè)置可實(shí)現(xiàn)翻轉(zhuǎn)

效果圖

Android 圖片處理縮放功能

1:本地圖片加載

<ImageView
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:id="@+id/id_loc"
    android:scaleType="fitXY"
    />
<uk.co.senab.photoview.PhotoView
    android:layout_width="match_parent"
    android:layout_height="400dp"
    android:src="@mipmap/ic_launcher"
    android:id="@+id/id_myimg"/>

第一種方法:

 //本地加載方法一
    // 設(shè)置圖片
    Drawable bitmap = getResources().getDrawable(R.mipmap.ic_launcher);
    loc.setImageDrawable(bitmap);
    // 連接在photoview中
    PhotoViewAttacher mAttacher = new PhotoViewAttacher(loc);
    mAttacher.update();//更新 

第二種

//本地方法加載二
    PhotoViewAttacher mAttacher;
    mAttacher = new PhotoViewAttacher(loc);
    iv.setImageBitmap(bitmap);
    Glide.with(this).load(R.mipmap.ic_launcher).asBitmap().into(loc);
    mAttacher.update();

 2:網(wǎng)絡(luò)圖片加載

對(duì)于網(wǎng)絡(luò)也是可以用ImageView和PhotoView兩種

把ImageView或者PhotoView的對(duì)象名直接添加到display中就OK 了。    

//加載網(wǎng)絡(luò)圖片
    ImageLoader loader= ImageLoader.getInstance();
    loader.init(ImageLoaderConfiguration.createDefault(ImageTest.this));//loader初始化
    loader.displayImage("https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1529211252&di=1414331e22239ecb5730cbbd0f3793eb&src=http://pic154.nipic.com/file/20180114/26629113_090329120799_2.jpg",loc);//展示圖片

下面我們可以看一下源碼,其實(shí)他也是繼承了ImageView

/**
   * Adds display image task to execution pool. Image will be set to ImageView when it's turn. <br/>
   * Default {@linkplain DisplayImageOptions display image options} from {@linkplain ImageLoaderConfiguration
   * configuration} will be used.<br />
   * <b>NOTE:</b> {@link #init(ImageLoaderConfiguration)} method must be called before this method call
   *
   * @param uri    Image URI (i.e. "http://site.com/image.png", "file:///mnt/sdcard/image.png")
   * @param imageView {@link ImageView} which should display image
   * @throws IllegalStateException  if {@link #init(ImageLoaderConfiguration)} method wasn't called before
   * @throws IllegalArgumentException if passed <b>imageView</b> is null
   */
  public void displayImage(String uri, ImageView imageView) {
    displayImage(uri, new ImageViewAware(imageView), null, null, null);
  }

總結(jié)

以上所述是小編給大家介紹的Android 圖片處理縮放功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI