避免图像裁剪并将其投射到固定的图像尺寸
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了避免图像裁剪并将其投射到固定的图像尺寸相关的知识,希望对你有一定的参考价值。
我正在尝试从大于或小于此尺寸的图像创建大小为720 * 1280分辨率的图像,而不会裁剪和扭曲它。如果高度或宽度或两者都变小,同时填充空白区域中的颜色。第一张图像到第二张图像。
我尝试了这个,但无法获得理想的结果,也没有任何关于颜色选择的想法。
<ImageView
android:id="@+id/action_image"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:layout_width="720dp"
android:layout_height="1280dp" />
答案
//用picasso库试试这段代码
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;
}
});
另一答案
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" />
以上是关于避免图像裁剪并将其投射到固定的图像尺寸的主要内容,如果未能解决你的问题,请参考以下文章