【问题标题】:Avoiding image cropping and casting it to a fixed image size避免图像裁剪并将其投射到固定的图像尺寸
【发布时间】:2018-01-02 05:29:07
【问题描述】:

我正在尝试从大于或小于此尺寸的图像创建分辨率为 720*1280 的图像,而不会对其进行裁剪和扭曲。如果在此过程中高度或宽度或两者都变小,请在空白区域填充颜色。第一个图像到第二个图像。

我试过了,但无法得到想要的结果,而且对颜色选择一无所知。

<ImageView
    android:id="@+id/action_image"
    android:scaleType="fitXY"
    android:adjustViewBounds="true"
    android:layout_width="720dp"
    android:layout_height="1280dp" />

【问题讨论】:

    标签: android image android-layout imageview


    【解决方案1】:

    //用毕加索库试试这段代码

    int finalHeight, finalWidth;
        final ImageView iv = (ImageView)findViewById(R.id.scaled_image);
        ViewTreeObserver vto = iv.getViewTreeObserver();
        vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
            public boolean onPreDraw() {
                iv.getViewTreeObserver().removeOnPreDrawListener(this);
        Picasso.with(context).load("url").resize(iv.getMeasuredWidth(), iv.getMeasuredHeight()).into(imageView);
                return true; 
            }
        });
    

    【讨论】:

      【解决方案2】:

      scaleType fitXY 可能会扭曲您的图像。将 scaleType fitCenter 与您选择的背景颜色一起使用。

      <ImageView
          android:layout_width="720dp"
          android:layout_height="1280dp"
          android:background="#0f0"
          android:scaleType="fitCenter"
          android:src="@drawable/sample_good_perfect" />
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-11
        • 2021-07-25
        • 2010-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多