我正在使用壁画在列表视图中显示图像。不过,我有个问题。
当我使用CENTER_CROP等保持纵横比的方法缩放图像时,缩放的图像高度变得小于SimpleDraWeeView的高度,SimpleDraWeeView不会自动调整大小以匹配缩放图像的大小。
>
android:adjustViewBounds=true
,但它不起作用。我也尝试了下面的方法,但是scaleY(我想用来计算缩放高度)返回1,即使图像高度小于Simpe-Dravee-View的高度
float[] f = new float[9]
draweeView.getImageMatrix().getValues(f);
float scaleY = f[Matrix.MSCALE_Y];
Log.d("App","scale y is "+ scaleY);
在下面的方法中使用上述codlet
private void loadImage(Uri fileUri,final SimpleDraweeView draweeView,int myImageHeight){
draweeView.getLayoutParams().width = displayWidth;
int selectedSize = (myImageHeight > displayWidth)? displayWidth : myImageHeight;
draweeView.getLayoutParams().height= selectedSize;
GenericDraweeHierarchyBuilder builder = new GenericDraweeHierarchyBuilder(context.getResources());
GenericDraweeHierarchy hierarchy = builder
.setProgressBarImage(new CircleProgressBarDrawable())
.setActualImageScaleType(ScalingUtils.ScaleType.CENTER_CROP)
.build();
ImageRequest requestBuilder = ImageRequestBuilder.newBuilderWithSource(fileUri)
.setProgressiveRenderingEnabled(true)
.build();
//ImagePipeline imagePipeline = Fresco.getImagePipeline();
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(draweeView.getController())
.setImageRequest(requestBuilder)
.build();
draweeView.setHierarchy(hierarchy);
draweeView.setController(controller);
float[] f = new float[9]
draweeView.getImageMatrix().getValues(f);
float scaleY = f[Matrix.MSCALE_Y];
Log.d("App","scale y is "+ scaleY);
}
结果:红色代表简单付款人视图中未填充图像的部分。这是刻度类型FIT_Center。当我使用CENTER_CROP时,图像填充了整个imageview并且图像的某些部分被砍掉了,而我不希望这样
问:我如何获得缩放的图像大小,并使用它来调整我的simpleDraweeView的大小,或者换句话说,我如何使我的simpleDraweeView调整它的大小?
我将感谢任何帮助。
为了使simpledraweeview调整大小,这就是我实现了ControllerListener
并根据需要更改了simpledraweeview
高度的内容。
private void loadImage(Uri fileUri,final SimpleDraweeView simpeDraweeView) {
GenericDraweeHierarchyBuilder builder = new GenericDraweeHierarchyBuilder(context.getResources());
GenericDraweeHierarchy hierarchy = builder
.setProgressBarImage(new CircleProgressBarDrawable())
.setActualImageScaleType(ScalingUtils.ScaleType.CENTER_CROP)
.build();
ImageRequest requestBuilder = ImageRequestBuilder.newBuilderWithSource(fileUri)
.setProgressiveRenderingEnabled(true)
.build();
ControllerListener<ImageInfo> contollerListener = new BaseContollerListener<ImageInfo>() {
public void onFinalImageSet(String id, ImageInfo imageinfo,Animatable animatable) {
if(imageinfo != null) {
updateViewSize(imageinfo)
}
}
DraweeContoller contoller = Fresco.newDraweeContollerBuilder()
.setContollerListener(contollerListener)
.setImageRequest(requestBuilder)
.build();
simpleDraweeView.setHierarchy(hierarchy);
simpleDraweeView.setController(contoller);
}
private void updateViewSize(ImageInfo imageinfo){
//this is my own implementation of changing simple-drawee-view height
// you canhave yours using imageinfo.getHeight() or imageinfo.getWidth();
simpleDraweeView.getLayoutParams().height = imageinfo.getHeight();
// don't forget to call this method. thanks to @plamenko for reminding me.
simpleDraweeView.requestLayout()
}
问题内容: 我想拍摄一张图像并更改图像的比例,虽然它是一个numpy数组。 例如,我有一个可口可乐瓶的图像: bottle-1 转换为一个numpy的形状数组,我想调整其大小以表示第二个图像的大小: bottle-2 形状为。 如何在保持原始图像的同时将图像尺寸更改为特定形状?其他答案建议每隔一行或第三行剥离,但是我想要做的基本上是像通过图像编辑器(但在python代码中)那样收缩图像。是否有任何
我在应用程序中使用frescolib从url加载图像。但是,我在recyclerview的对象中遇到了一个问题。具体来说,我需要在SimpleDraweView中居中显示图像,同时保持格式。所以我使用了下面的代码,但是我得到了应该是白色的部分中有条纹的拉伸图像。 这是错误加载的图像 这是原始图像 我的代码: 知道图像加载不好的原因吗?
我正在开发一个画廊屏幕,允许用户从设备中选择一些图像并发送给另一个用户。我正在使用加载图像,但是根据设备的不同,图像加载非常慢,屏幕上的滚动也很慢。 谁知道怎么解决这个问题? 谢谢!
我使用html5画布元素在浏览器中调整图像大小。原来质量很低。我发现:当缩放 时禁用插值,但这无助于提高质量。 下面是我的css和js代码,以及用Photoshop缩放和在画布API中缩放的图像。 当在浏览器中缩放图像时,我必须做什么来获得最佳质量? JS: 使用Photoshop调整图像大小: 在画布上调整了图像大小: 下面是我使用2步缩小尺寸的结果: 下面是我使用三步缩小尺寸的结果: 下面是如
我对图像进行了收缩缩放,但是当我第一次加载应用程序时,整个图像不可见,只有一部分。图像填充了屏幕的宽度,但其上下都有空白。此外,当缩放图像时,图像变得非常短。纵横比应保持不变。 我希望在应用程序加载时使整个图像可见,然后我希望能够用两根手指缩小图像,其中图像不会小于屏幕的大小,以便屏幕始终充满(图像是地图)。 为了放大,图像应该超出手机屏幕的宽度和高度。这样我就可以平移过去查看地图的细节。 任何帮
问题内容: 我正在尝试使用javascript和canvas元素在客户端创建缩略图,但是当我缩小图像时,它看起来很糟糕。看起来好像是在Photoshop中缩小了尺寸,将重采样设置为“最近的邻居”而不是Bicubic。我知道有可能使它看起来正确,因为该站点也可以使用画布来完成它。我已经尝试使用与[[Source]]链接中所示相同的代码,但是看起来仍然很糟糕。是否缺少我需要的设置,需要设置的设置? 编