Android图片转换器代码分享

网友投稿 222 2023-07-27


Android图片转换器代码分享

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.setOutAhttp://nimation(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

index++;

}else{

index=0;

}

imageSwitcher.setImageResource(imagId[index]);

}

});

}

}

main.xml

android:background="@drawable/bg1"

android:id="@+id/llayout"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:gravity="center"

android:orientation="horizontal" >

再来看一段代码

// 获取图片的宽高

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);}

index++;

}else{

index=0;

}

imageSwitcher.setImageResource(imagId[index]);

}

});

}

}

main.xml

android:background="@drawable/bg1"

android:id="@+id/llayout"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:gravity="center"

android:orientation="horizontal" >

android:background="@drawable/bg1"

android:id="@+id/llayout"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:gravity="center"

android:orientation="horizontal" >

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="上一张"

android:id="@+id/bt1"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/imagSw1"

android:layout_gravity="center"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/imagSw1"

android:layout_gravity="center"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="下一张"

android:id="@+id/bt2"

/>

再来看一段代码

// 获取图片的宽高

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);}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java遍历Map对象的四种方式
下一篇:探寻API文档软件的必要性与软件选择
相关文章

 发表评论

暂时没有评论,来抢沙发吧~