-
-
Notifications
You must be signed in to change notification settings - Fork 127
图片容器
Leslie Van edited this page Apr 24, 2023
·
1 revision
由 ImageContainer
类组成。
classDiagram
class ImageContainer{
-path: Path
-target_path: Path|None
-img: Image
-exif: dict
-model: str
-make: str
-lens_model: str
-lens_make: str
-date: datetime
-focal_length: str
-focal_length_in_35mm_film: str
-use_equivalent_focal_length: bool
-f_number: str
-exposure_time: str
-iso: str
-orientation
-custom: str
-logo: object
-original_width
-original_height
-watermark_img: Image.Image
+__init__(path: Path)
+get_height()
+get_width()
+get_model()
+get_make()
+get_ratio()
+get_img()
+_parse_datetime() -> str
+_parse_date() -> str
+get_attribute_str(element: ElementConfig) -> str
+get_param_str() -> str
+get_original_height()
+get_original_width()
+get_original_ratio()
+get_logo()
+set_logo(logo: object) -> None
+is_use_equivalent_focal_length(flag: bool) -> None
+get_watermark_img() -> Image.Image
+update_watermark_img(watermark_img: Image.Image) -> None
+close()
}
ImageContainer
是一个图片处理的类,用于从图片文件中读取 EXIF 信息,获取图片的基本属性,如拍摄时间、机器型号、镜头型号等,并且可以对这些属性进行一些处理,生成对应的字符串形式的属性值。其中,ImageContainer
通过对 Image
对象的操作,获取图片的基本信息。get_attribute_str
方法根据传入的 ElementConfig
对象中的属性名,返回对应的属性值,该方法用于将图片属性值组合成字符串。
此外,该对象还提供了其他一些方法,如设置和获取水印、获取图片高度和宽度、修改焦距等。在实际使用中,可以根据需要调用这些方法来处理图片和获取属性值,从而实现对图片的处理和生成水印。
图片容器在 main.py 中被实例化,图片容器的定义在 entity/image_container.py。
示例
下面是一个简单的图片容器示例:
source_path = 'images/example.jpg'
# 通过路径实例化一个图片容器对象
container = ImageContainer(source_path)
# 分别获取照片的相机机型和相机厂商
model = container.get_model()
make = container.get_make()
# 关闭图片容器
container.close()