img标签图片等比填充
时间: 2023-07-06 18:26:07 浏览: 77
要让img标签中的图片等比例填充,可以使用CSS中的"object-fit"属性。该属性有以下几个值可选:
- fill:拉伸图片以填充容器,可能导致图片变形;
- contain:保持图片比例不变,缩放图片以适应容器;
- cover:保持图片比例不变,放大或缩小图片以填充容器;
- none:保持图片原始大小不变,不改变图片尺寸;
- scale-down:与contain相似,但是当图片小于容器时,保持原始大小。
因此,要让图片等比例填充容器,可以这样写CSS:
```
img {
width: 100%;
height: 100%;
object-fit: cover;
}
```
这样,img标签中的图片会自适应容器大小,并且保持等比例填充,不会失真。
相关问题
怎么用python将一个文件夹中的图片等比缩放并填充为统一大小
在Python中,我们可以使用PIL(Pillow)库来操作图像,并结合os模块来遍历文件夹。以下是一个简单的步骤指南:
1. 首先,安装Pillow库,如果还没有安装可以使用pip安装:
```
pip install pillow
```
2. 导入需要的模块:
```python
from PIL import Image
import os
```
3. 定义函数来处理图片缩放:
```python
def resize_image(input_path, output_path, target_size):
with Image.open(input_path) as img:
max_dim = max(img.width, img.height)
if max_dim > target_size:
ratio = target_size / max_dim
new_width = int(img.width * ratio)
new_height = int(img.height * ratio)
img = img.resize((new_width, new_height), Image.ANTIALIAS) # 使用抗锯齿缩放
img.save(output_path)
```
4. 遍历指定文件夹下的所有图片并调用该函数:
```python
def process_folder(input_folder, output_folder, target_size):
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
if filename.endswith(('.jpg', '.jpeg', '.png', '.gif')): # 只处理常见的图片格式
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, filename)
resize_image(input_path, output_path, target_size)
# 使用方法
input_folder = 'path_to_your_input_folder'
output_folder = 'path_to_your_output_folder'
target_size = 800 # 指定想要的目标尺寸,单位为像素
process_folder(input_folder, output_folder, target_size)
```
python将一个文件夹中的8位的图片等比缩放并填充为统一大小,背景填充为128的红,输出的图片也为8位
在Python中,可以使用PIL(Python Imaging Library)或者其更现代的替代品Pillow库来实现这个功能。以下是一个简单的示例,展示如何遍历文件夹、读取图片、等比例缩放并添加红色背景:
```python
from PIL import Image
def resize_and_fill_folder(input_folder, output_folder, target_size):
for filename in os.listdir(input_folder): # 遍历输入文件夹
if filename.endswith(".png") or filename.endswith(".jpg"): # 只处理常见的图片格式
img = Image.open(os.path.join(input_folder, filename)) # 打开图片
width, height = img.size # 获取原始尺寸
ratio = min(target_size / max(width, height), 1) # 计算缩放比例,保证不失真
new_width, new_height = int(width * ratio), int(height * ratio)
background = Image.new('RGB', (target_size, target_size), (128, 0, 0)) # 创建新的背景,红底128色
bg_box = (0, 0, new_width, new_height) # 裁剪区域
background.paste(img.resize((new_width, new_height)), bg_box) # 缩放并贴入背景
resized_img_path = os.path.join(output_folder, f'resized_{filename}') # 输出文件名
background.save(resized_img_path) # 保存调整后的图片
# 使用函数,传入输入文件夹、输出文件夹和目标大小
resize_and_fill_folder('input_folder_path', 'output_folder_path', 640)
```
阅读全文