【发布时间】:2020-01-02 00:59:02
【问题描述】:
我想显示存储在服务器上的一堆图像。图片取自用户手机,尺寸和纵横比未知。
我只想让图像完全填充 DIV,同时保持其纵横比。如果图像宽于高,我希望图像缩放,以便高度为 Div 的 100%,并且边会被剪掉。同样,如果图像高于/宽,我希望图像按比例放大/缩小,以便宽度为 Div 的 100%
我认为这将是微不足道的,但我在这里。我可以使图像适合高或宽,但不能取决于纵横比。我尝试了几种不同的方法,我不知所措。
我有一个 2x2 网格,我想让图像填充这些网格。有些图像需要旋转。我不确定为什么它们需要在我的计算机上看起来正常。我有一个硬编码的标志来强制对某些图像进行旋转,但旋转似乎进一步搞砸了 css。
CSS:
.img-container {
/* height: 150px; */
width: 100%;
}
.img-container img {
height: 100%;
/* height: -webkit-fill-available; */
width: 100%;
object-fit: cover;
}
HTML:
<div class="showBorder img-container">
<img #image class="container-img-objfit2"
[ngClass]="{rotateLeft: rotate}"
[src]="imageURL" />
</div>
无论纵横比如何,如何填充这些 DIV?
我可以在 Angular 内执行任何操作吗?我试图获取图像大小并查看是否可以设置处理旋转的自定义类,但这似乎也不起作用。我所有照片的尺寸都是相同的。所以没办法区分哪些图片需要旋转。
或者我做错了?最终,我认为我将有一个过程来缩放和裁剪服务器上的图像,以便为客户端应用程序做好准备。
更新: This sample 试图在背景中设置图像并使用 :before 选择器来旋转图像。它不能完全工作,因为我无法将图像动态更改为其他图像。
【问题讨论】: