欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android圖片轉換器代碼分享

 更新時間:2015年10月29日 11:58:43   投稿:hebedich  
本文給大家總結了下在安卓程序中進行圖片轉換的方法,非常的實用,小伙伴們可以參考下。

MainActivity.java

package com.zhang.showPhoto;
 
import android.app.ActionBar.LayoutParams;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
 
public class MainActivity extends Activity {
   
  private int[] imagId=new int[]{
      R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04,
      R.drawable.img05,R.drawable.img06,R.drawable.img07,R.drawable.img08,
      R.drawable.img09,R.drawable.img10
    };
  private int index=0;
  private ImageSwitcher imageSwitcher;
  private Button up,down;
   
 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
   
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
     
    up=(Button) findViewById(R.id.bt1);
    down=(Button) findViewById(R.id.bt2);
     
   
    imageSwitcher=(ImageSwitcher) findViewById(R.id.imagSw1);
    imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
    imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
    imageSwitcher.setFactory(new ViewFactory() {
       
     
      public View makeView() {
        ImageView imageView = new ImageView(MainActivity.this);
        imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        imageView.setLayoutParams(new ImageSwitcher.LayoutParams(
            LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT
            ));
        return imageView;
      }
    });
     
    imageSwitcher.setImageResource(imagId[index]);
     
    up.setOnClickListener(new OnClickListener() {
       
      @Override
      public void onClick(View v) {
        if(index>0){
          index--;
        }else{
          index=imagId.length-1;
        }
        imageSwitcher.setImageResource(imagId[index]);
      }
    });
     
    down.setOnClickListener(new OnClickListener() {
       
      @Override
      public void onClick(View v) {
        if(index<imagId.length-1){
          index++;
        }else{
          index=0;
        }
        imageSwitcher.setImageResource(imagId[index]);
      }
    });
   
  }
   
 
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:background="@drawable/bg1"
  android:id="@+id/llayout"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:gravity="center"
  android:orientation="horizontal" >
 
  <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="上一張"
    android:id="@+id/bt1"
    />
  <ImageSwitcher
     android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imagSw1"
    android:layout_gravity="center"
    />
   <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="下一張"
    android:id="@+id/bt2"
    />
 
</LinearLayout>

再來看一段代碼

    // 獲取圖片的寬高
    BitmapFactory.Options opt = new BitmapFactory.Options();
    opt.inJustDecodeBounds = true;
    try{
      bitmapIn = BitmapFactory.decodeFile(Puzzle.user.CUSTOM_IMAGE[customImage], opt);
    }catch(Exception e){
      if(D) Log.d(TAG,"error");
      return;
    }
    int in_w=opt.outWidth,in_h=opt.outHeight;
     
    // 獲取imageview的尺寸 注意imageview的寬高比要與原圖相同 否則需要另行計算
    full_w = imageview.getWidth()
    full_h = getHeight()
 
    // 計算縮放比例 帶有四舍五入
    int Size_rate=(in_w*in_h*10)/(full_w*full_h);
    if(Size_rate>10){
      Size_rate+=5; 
      Size_rate/=10;
    }else{
      Size_rate=1;
    }
 
    // 重新設置opt 讀取圖片文件
    opt.inSampleSize=Size_rate;
    opt.inJustDecodeBounds = false;
    opt.inScaled = false;
 
    opt.outWidth=full_w;
    opt.outHeight=full_h;
    bitmapIn = BitmapFactory.decodeFile(Puzzle.user.CUSTOM_IMAGE[customImage], opt);}

相關文章

  • Java內(nèi)部類_動力節(jié)點Java學院整理

    Java內(nèi)部類_動力節(jié)點Java學院整理

    內(nèi)部類是指在一個外部類的內(nèi)部再定義一個類。下面通過本文給大家java內(nèi)部類的使用小結,需要的朋友參考下吧
    2017-04-04
  • java項目打包成可執(zhí)行jar用log4j將日志寫在jar所在目錄操作

    java項目打包成可執(zhí)行jar用log4j將日志寫在jar所在目錄操作

    這篇文章主要介紹了java項目打包成可執(zhí)行jar用log4j將日志寫在jar所在目錄操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java基于LoadingCache實現(xiàn)本地緩存的示例代碼

    Java基于LoadingCache實現(xiàn)本地緩存的示例代碼

    本文主要介紹了Java基于LoadingCache實現(xiàn)本地緩存的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java StringBuilder類原理及常用方法

    Java StringBuilder類原理及常用方法

    這篇文章主要介紹了Java StringBuilder類原理及常用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Java中的分割字符串?split(“.”)無效問題

    Java中的分割字符串?split(“.”)無效問題

    這篇文章主要介紹了Java中的分割字符串?split(“.”)無效問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • mybatisplus之使用@Select解讀

    mybatisplus之使用@Select解讀

    這篇文章主要介紹了mybatisplus之使用@Select解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • java實現(xiàn)微信H5支付方法詳解

    java實現(xiàn)微信H5支付方法詳解

    本篇文章主要介紹了java實現(xiàn)微信H5支付方法詳解,非常具有實用價值,需要的朋友可以參考下
    2017-04-04
  • Spring定時任務@scheduled多線程使用@Async注解示例

    Spring定時任務@scheduled多線程使用@Async注解示例

    這篇文章主要為大家介紹了Spring定時任務@scheduled多線程使用@Async注解示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • RocketMQ消息積壓原因及處理方法

    RocketMQ消息積壓原因及處理方法

    RocketMQ是一種可靠的、可擴展的消息中間件,廣泛應用于分布式系統(tǒng)中的消息通信,然而,在高并發(fā)的場景下,由于消息產(chǎn)生速度超過消費速度,可能會導致消息積壓的問題,本文將介紹RocketMQ消息積壓的原因和如何處理積壓問題
    2023-06-06
  • JAVA多線程和并發(fā)基礎面試問答(翻譯)

    JAVA多線程和并發(fā)基礎面試問答(翻譯)

    多線程和并發(fā)問題是Java技術面試中面試官比較喜歡問的問題之一。在這里,從面試的角度列出了大部分重要的問題,但是你仍然應該牢固的掌握Java多線程基礎知識來對應日后碰到的問題
    2014-09-09

最新評論