日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Python圖片處理

圖片處理是OSS提供的海量、安全、低成本、高可靠的圖片處理服務。原始圖片上傳到OSS后,您可以通過簡單的RESTful接口,在任何時間、任何地點、任何互聯網設備上對圖片進行處理。

關于圖片處理支持的參數,請參見處理參數

注意事項

  • 本文以華東1(杭州)外網Endpoint為例。如果您希望通過與OSS同地域的其他阿里云產品訪問OSS,請使用內網Endpoint。關于OSS支持的RegionEndpoint的對應關系,請參見OSS地域和訪問域名

  • 本文以OSS域名新建OSSClient為例。如果您希望通過自定義域名、STS等方式新建OSSClient,請參見初始化

使用圖片處理參數處理圖片

  • 使用單個圖片處理參數處理圖片并保存為本地圖片

    # -*- coding: utf-8 -*-
    import os
    import oss2
    from oss2.credentials import EnvironmentVariableCredentialsProvider
    
    # 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_IDOSS_ACCESS_KEY_SECRET。
    auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
    
    # 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
    endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
    # 填寫Endpoint對應的Region信息,例如cn-hangzhou。注意,v4簽名下,必須填寫該參數
    region = "cn-hangzhou"
    
    # examplebucket填寫存儲空間名稱。
    bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)
    
    # yourObjectName填寫目標圖片名稱。若圖片不在Bucket根目錄,需攜帶文件訪問路徑,例如example/example.jpg。
    key = 'yourObjectName'
    # LocalFileName填寫處理后的圖片名稱。
    new_pic = 'LocalFileName'
    
    # 若目標圖片不在指定Bucket內,需上傳圖片到目標Bucket。
    # bucket.put_object_from_file(key, 'yourLocalFile')
    
    # 將圖片縮放為固定寬高100 px后保存到本地。
    style = 'image/resize,m_fixed,w_100,h_100'
    bucket.get_object_to_file(key, new_pic, process=style)
    
    # 圖片處理完成后,若Bucket內的原圖不再需要,可以刪除原圖。
    # bucket.delete_object(key)
    # 若處理后的圖片不再需要,可以刪除處理后的圖片。
    # os.remove(new_pic)
  • 使用多個圖片處理參數處理圖片并保存為本地圖片

    使用多個圖片處理參數處理圖片時,多個參數之間以正斜線(/)分隔。

    # -*- coding: utf-8 -*-
    import os
    import oss2
    from oss2.credentials import EnvironmentVariableCredentialsProvider
    
    # 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_IDOSS_ACCESS_KEY_SECRET。
    auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
    
    # 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
    endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
    # 填寫Endpoint對應的Region信息,例如cn-hangzhou。注意,v4簽名下,必須填寫該參數
    region = "cn-hangzhou"
    
    # examplebucket填寫存儲空間名稱。
    bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)
    
    # 指定原圖所在的Bucket名稱,例如examplebucket。
    bucket_name = 'examplebucket'
    # 指定原圖名稱。如果圖片不在Bucket根目錄,需攜帶圖片完整路徑,例如exampledir/example.jpg。
    key = 'exampledir/example.jpg'
    # 指定處理后的圖片名稱。
    new_pic = 'exampledir/newexample.jpg'
    
    # 如果圖片不在指定Bucket內,需將本地路徑下的圖片上傳到指定Bucket。
    # bucket.put_object_from_file(key, 'D:\\localpath\\example.jpg')
    
    # 將圖片縮放為固定寬高100 px后,再旋轉90°,之后保存至本地。
    style = 'image/resize,m_fixed,w_100,h_100/rotate,90'
    bucket.get_object_to_file(key, new_pic, process=style)
    # 圖片處理完成后,若Bucket內的原圖不再需要,可以刪除原圖。
    # bucket.delete_object(key)
    # 如果處理后的圖片不再需要,可以刪除處理后的圖片。
    # os.remove(new_pic)

使用圖片樣式處理圖片

您可以將多個圖片處理參數封裝在一個樣式中,之后使用樣式批量處理圖片。更多信息,請參見圖片樣式。以下代碼展示了使用圖片樣式處理圖片:

# -*- coding: utf-8 -*-
import os
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# 填寫Endpoint對應的Region信息,例如cn-hangzhou。注意,v4簽名下,必須填寫該參數
region = "cn-hangzhou"

# examplebucket填寫存儲空間名稱。
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# 指定原圖所在的Bucket名稱,例如examplebucket。
bucket_name = 'examplebucket'
# 指定原圖名稱。如果圖片不在Bucket根目錄,需攜帶圖片完整路徑,例如exampledir/example.jpg。
key = 'exampledir/example.jpg'
# 指定處理后的圖片名稱。
new_pic = 'exampledir/newexample.jpg'

# 如果圖片不在指定Bucket內,需將本地路徑下的圖片上傳到指定Bucket。
# bucket.put_object_from_file(key, 'D:\\localpath\\example.jpg')

# 使用自定義樣式處理圖片。其中,yourCustomStyleName填寫通過OSS管理控制臺創建的圖片樣式名稱。
style = 'style/yourCustomStyleName'
# 將處理后的圖片保存在本地。
bucket.get_object_to_file(key, new_pic, process=style)
# 圖片處理完成后,如果Bucket內的原圖不再需要,可將其刪除。
# bucket.delete_object(key)
# 如果處理后的圖片不再需要,可將其刪除。
# os.remove(new_pic)

圖片處理持久化

您可以通過ImgSaveAs接口將處理后的圖片保存至指定Bucket。以下代碼展示了圖片處理持久化操作:

# -*- coding: utf-8 -*-
import os
import base64
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# 填寫Endpoint對應的Region信息,例如cn-hangzhou。注意,v4簽名下,必須填寫該參數
region = "cn-hangzhou"

# examplebucket填寫存儲空間名稱。
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# 指定原圖所在的Bucket名稱。
source_bucket_name = 'srcbucket'
# 指定用于存放處理后圖片的Bucket名稱,該Bucket需與原圖所在Bucket在同一地域。
target_bucket_name = 'destbucket'
# 指定原圖名稱。如果圖片不在Bucket根目錄,需攜帶文件完整訪問路徑,例如example/example.jpg。
source_image_name = 'example/example.jpg'

# 將圖片縮放為固定寬高100 px。
style = 'image/resize,m_fixed,w_100,h_100'
# 指定處理后圖片名稱。如果圖片不在Bucket根目錄,需攜帶文件完整訪問路徑,例如exampledir/example.jpg。
target_image_name = 'exampledir/example.jpg'
process = "{0}|sys/saveas,o_{1},b_{2}".format(style,
    oss2.compat.to_string(base64.urlsafe_b64encode(oss2.compat.to_bytes(target_image_name))),
    oss2.compat.to_string(base64.urlsafe_b64encode(oss2.compat.to_bytes(target_bucket_name))))
result = bucket.process_object(source_image_name, process)
print(result)

生成帶圖片處理參數的文件簽名URL

私有文件的訪問URL帶有簽名。OSS不支持在帶簽名的URL后直接添加圖片處理參數。如果您想要對私有文件進行圖片處理,需要將圖片處理參數加入到簽名中,相關的代碼示例如下:

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# 填寫Endpoint對應的Region信息,例如cn-hangzhou。注意,v4簽名下,必須填寫該參數
region = "cn-hangzhou"

# examplebucket填寫存儲空間名稱。
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# 填寫Bucket名稱,例如examplebucket。
bucket_name = 'examplebucket'
# 指定圖片所在Bucket的名稱。如果圖片不在Bucket根目錄,需攜帶文件完整路徑,例如exampledir/example.jpg。
key = 'exampledir/example.jpg'

# 如果圖片不在指定Bucket內,需將該圖片到目標Bucket。
# bucket.put_object_from_file(key, 'D:\\localpath\\example.jpg')
# 將圖片縮放為固定寬高100 px后,再旋轉90°。
style = 'image/resize,m_fixed,w_100,h_100/rotate,90'
# 生成帶簽名的URL,并指定過期時間為10分鐘。過期時間單位為秒。
url = bucket.sign_url('GET', key, 10 * 60, params={'x-oss-process': style})
print(url)

圖片處理工具

您可以通過可視化圖片處理工具ImageStyleViewer直觀地看到OSS圖片處理結果。

相關文檔

關于圖片處理的完整代碼,請參見GitHub示例