zoukankan      html  css  js  c++  java
  • 设置图片大小和旋转

    xml

    <ImageView
    android:id="@+id/img"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/left"
    android:scaleType="fitCenter"
    />
    <TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="拖动改变图片大小"
    android:textSize="30px"
    />
    <SeekBar
    android:id="@+id/sb"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    />
    <TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="拖动旋转图片"
    android:textSize="30px"
    />
    <SeekBar
    android:id="@+id/sb1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    />
    有两个seekbar
    sb实现setOnSeekBarChangeListener(this);接口
    sb1实现setOnSeekBarChangeListener(this);接口
    拖动滚动条来缩放的思想是这样的,首先要把sb的最大值设置成屏幕宽度
    然后通过拖动的返回值来改变imagview容器的大小就可以改变图片的大小
    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm); //获得屏幕的宽度
    int w = dm.widthPixels;
    sb.setMax(w); //设置sb的最大值


    拖动滚动条来旋转的思想首先要声明一个Matrix matrix = new Matrix();

    对图片的操作都用这个类。设置他旋转的度数,然后装载资源,创建一个旋转后的图片
    将这个图片设置成旋转之后的图片。
    对图片的旋转并不是真的让这个图片旋转,而是新或得一个图片然后让这个图片旋转,把这个旋转后的图片替换成img


    就会重写里面的方法 对象 拖动值
    public void onProgressChanged(SeekBar seekbar, int pro, boolean arg2) {
    int a=seekbar.getId;
    switch(a)
    case R.id.sb:
    int w = pro;
    int h = pro*3/4;
    LinearLayout.LayoutParams pra = new LinearLayout.LayoutParams(w, h);
    img.setLayoutParams(pra);
    break;

    case R.id.sb1:
    matrix.setRotate(pro);
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.left);
    Bitmap bit = bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),
    bitmap.getHeight(), matrix, true);//创建一个旋转后的图片,返回值为bitmap要创建一个新的 bitmap来接收
    img.setImageBitmap(bit); 将旋转后的图片替换成这个图片
    break;

    }

  • 相关阅读:
    VBS与JS变量共享与互操作
    VBA之MSForms.DataObject对象
    VBA编程的工程性规划
    WSF脚本详解:JS和VBS互调用
    HTA程序:VBS/JS脚本GUI
    Python字符串格式化
    Python __builtins__模块拾穗
    Java高级特性 第6节 注解初识
    Java高级特性 第5节 序列化和、反射机制
    Java高级特性 第4节 输入输出流
  • 原文地址:https://www.cnblogs.com/84126858jmz/p/4869637.html
Copyright © 2011-2022 走看看