首页 > 其他分享 >照片尺寸调整

照片尺寸调整

时间:2024-01-29 09:37:39浏览次数:25  
标签:mm image height 照片 width 尺寸 调整 dpi physical

from PIL import Image


def convert_image3(image_path, width_mm, height_mm, dpi):
    # 打开原始图片
    image = Image.open(image_path)

    # 计算目标像素尺寸
    width_px = int(width_mm / 25.4 * dpi)
    height_px = int(height_mm / 25.4 * dpi)

    # 调整图片尺寸
    resized_image = image.resize((width_px, height_px))

    # 保存调整后的图片
    resized_image.save(r'D:\temp\zcy21ok_3.jpg')
    print('over')


def get_physical_size(image_path):
    # 打开图片
    with Image.open(image_path) as img:
        # 获取像素尺寸
        width, height = img.size

        # 尝试获取DPI信息
        dpi = 300

        # 如果DPI信息存在,则计算物理尺寸
        if dpi:
            # DPI通常是一个元组,包含水平和垂直方向的DPI
            dpi_x, dpi_y = 300, 300

            # 计算物理尺寸(以英寸为单位)
            physical_width_inches = width / dpi_x
            physical_height_inches = height / dpi_y

            # 转换为毫米(1英寸 = 25.4毫米)
            physical_width_mm = physical_width_inches * 25.4
            physical_height_mm = physical_height_inches * 25.4

            return (physical_width_mm, physical_height_mm)
        else:
            # 如果DPI信息不存在,则返回None
            return None


if __name__ == '__main__':
    # 调用函数进行转换,传入参数:图片路径、目标宽度(毫米)、目标高度(毫米)、目标宽度(像素)、目标高度(像素)
    # convert_image(r'D:\temp\zcy21ok.jpg', 35, 49, 413, 579)

    # 调用函数进行转换,传入参数:图片路径、目标宽度(毫米)、目标高度(毫米)、像素密度(dpi)
    convert_image3(r'D:\temp\zcy21ok.jpg', 35, 49, 300)

    # 测试

    image_path = r'D:\temp\zcy21ok_3.jpg'
    print(get_physical_size(image_path))

 

标签:mm,image,height,照片,width,尺寸,调整,dpi,physical
From: https://www.cnblogs.com/testzcy/p/17993796

相关文章

  • ue4.26 CurveLinearColorAtlas支持非正方形尺寸
    默认CurveAtlas只能是正方形 改代码可以让它支持非正方形: 改法如下:CurveLinearColorAtlas.h//CopyrightEpicGames,Inc.AllRightsReserved.#pragmaonce#include"CoreMinimal.h"#include"UObject/ObjectMacros.h"#include"UObject/Object.h"#in......
  • [经验] 怎么打印2寸照片 word排版2寸照片
    1、怎么打印2寸照片对于需要打印2寸照片的人来说,了解一些相关信息可以帮助他们快速地获取理想的照片。下面将会介绍几种打印2寸照片的方法。1.使用相片打印机。相片打印机是专门用于打印相片的设备,能够输出高质量的照片并且非常方便、易于操作。如果您需要经常打印照片,购买一台彩色......
  • [经验] iphone的照片怎么传到电脑上
    1、手机照片怎么传到电脑上随着智能手机的普及,拍照已经成为了我们日常生活中必不可少的一项技能。不过,随着照片数量的增加,您可能需要将这些照片从手机上传输到电脑上,以便进行更好的管理、处理和保存。那么,手机照片怎么传到电脑上呢?下面是一些简单的方法:1.通过数据线传输最简单的方......
  • JavaScript DOM对象的尺寸和位置详解
    在DOM对象操作中,其尺寸和位置也是DOM的核心内容,因为js的“交互式应用”几乎少不了对DOM对象的尺寸和位置进行操作,特别是js动画效果。一、关于DOM对象的尺寸和位置介绍DOM对象的尺寸和位置的属性DOM对象的属性描述obj.scrollWidth和obj.scrollHeightDOM对象的内部实......
  • JavaScript DOM对象的尺寸和位置详解
    在DOM对象操作中,其尺寸和位置也是DOM的核心内容,因为js的“交互式应用”几乎少不了对DOM对象的尺寸和位置进行操作,特别是js动画效果。一、关于DOM对象的尺寸和位置介绍DOM对象的尺寸和位置的属性DOM对象的属性描述obj.scrollWidth和obj.scrollHeightDOM对象的内部......
  • [word] WPS 如何在 word 里调整横向文字间距
    今天教大家一个小技巧,如何在Word里调整横向文字间距。第1步先选中要调整间距的文字,具体操作如下图所示: ......
  • [word] Word表格跨页怎么调整?三个解决方法
    在Word中频繁会用到表格数据,但是在Word表格的使用过程中经常会遇到这样一个问题:表格跨页显示,这应该怎么调整呢?下面分享三种解决的方法,大家可以试试。1、设置表格与下段同页选中整个表格,之后点击开始-段落设置按钮,接着在换行和分页的界面中,勾选上与下段同页,点击确定,表格自动显示在一......
  • D55XT80-ASEMI整流桥D55XT80参数、封装、尺寸
    编辑:llD55XT80-ASEMI整流桥D55XT80参数、封装、尺寸型号:D55XT80品牌:ASEMI封装:DXT-5最大重复峰值反向电压:800V最大正向平均整流电流(Vdss):55A功率(Pd):芯片个数:4引脚数量:5类型:插件、整流桥正向浪涌电流:550A正向电压:1.10V最大输出电压(RMS):封装尺寸:如图工作温度:-55°C~150°CD55XT80特性......
  • D55XT80-ASEMI整流桥D55XT80参数、封装、尺寸
    编辑:llD55XT80-ASEMI整流桥D55XT80参数、封装、尺寸型号:D55XT80品牌:ASEMI封装:DXT-5最大重复峰值反向电压:800V最大正向平均整流电流(Vdss):55A功率(Pd):芯片个数:4引脚数量:5类型:插件、整流桥正向浪涌电流:550A正向电压:1.10V最大输出电压(RMS):封装尺寸:如图工作温度:-55°C~1......
  • BIP移动端手动调整手机号码等样式
    conststyle=document.createElement('style')style.innerHTML=`[fieldid="507ccae8MobileArchive|phone"].ys-disabled-mobileLocale{display:flex;justify-content:center;align-items:......