pillow學習7

繪制驗證碼

from PIL import Image,ImageFilter,ImageFont,ImageDraw
import random
width=100
hight=100
im=Image.new('RGB',(width,hight),(255,255,255))
draw=ImageDraw.Draw(im)
#獲取顏色
def get_color1():return (random.randint(200, 255), random.randint(200, 255), random.randint(200, 255))def getchar():st='0123456789aAbBcCdDeEfFgGhHiIjjkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ'c=''for i in range(4):c+=random.choice(st)return c
#填充每個像素
for x in range(width):for y in range(hight):draw.point((x,y),fill=get_color1())#使畫布呈現五彩斑斕的樣子font = ImageFont.truetype('simsun.ttc', 36)draw.text((10,50),getchar(),font=font,fill=(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)))
im.filter(ImageFilter.GaussianBlur)
im.show()

你有一個目錄,裝了很多照片,把它們的尺寸變成都不大于 iPhone5 分辨率的大小。

from PIL import Image
import os, imghdr
def photo_resize(path):pw,ph = (1136, 640)#iphone5分辨率f_list = os.listdir(path)#獲取文件夾中的文件列表for each in f_list:f_path = path+'\\'+each#表示單反斜杠時需要反義if imghdr.what(f_path):#判斷是否是圖片類型img = Image.open(f_path)w,h = img.sizeif(w>pw):img = img.resize((int(pw), int(h*(pw/w))))#resize返回的是一個imgw, h = img.sizeif(h>ph):img = img.resize((int(w*(ph/h)), int(ph)))#resize參數是一個包括兩個整形變量的元組img.save(f_path)del img
if __name__ == "__main__":photo_resize(".\dir")

繪制九宮格:

from PIL import Image, ImageFilter, ImageFont, ImageDraw
width=300;height=300
x,y=0,0
im = Image.new("RGB",(width,height),(255,255,255)) #最后一個參數是背景顏色,像素默認值
draw = ImageDraw.Draw(im)
def get_color1():a = (x//100)+(y//100)if a == 0:return (255,0,0)elif a == 1:return (0,255,255)elif a ==2:return (0,0,255)elif a==3:return (255,255,0)elif a==4:return (255, 0, 255)else:return (0, 0, 0)
# 填充每個像素
for x in range(width):for y in range(height):draw.point((x, y), fill=get_color1())
im.show()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15915.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15915.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15915.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

京東Java社招面試題真題,最新面試題

Java中接口與抽象類的區別是什么? 1、定義方式: 接口是完全抽象的,只能定義抽象方法和常量,不能有實現;而抽象類可以有抽象方法和具體實現的方法,也可以定義成員變量。 2、實現與繼承: 一個類…

幾種常用的配置文件格式對比分析——ini、json、xml、toml、yaml

配置文件用于存儲軟件程序的配置信息,以便程序能夠根據這些信息進行自定義和調整。常用的配置文件格式包括INI、XML、JSON和YAML。下面對它們進行簡單介紹,并分析各自的優缺點。 1. INI 文件格式 簡介: INI(Initialization&…

FPGA之tcp/udp

在調試以太網的過程中,考慮了vivado IP配置(管腳、reset等),SDK中PHY芯片的配置(芯片地址、自適應速率配置等),但是,唯獨忽略了tcp/udp協議,所以在ping通之后仍無法連接。 所以現在來學習一下tcp與udp的區別 ---- 為什…

經典面試題:進程、線程、協程開銷問題,為什么進程切換的開銷比線程的大?

上下文切換的過程? 上下文切換是操作系統在將CPU從一個進程切換到另一個進程時所執行的過程。它涉及保存當前執行進程的狀態并加載下一個將要執行的進程的狀態。下面是上下文切換的詳細過程: 保存當前進程的上下文: 當操作系統決定切換到另…

浪潮信息IPF24:AI+時代,創新驅動未來,攜手共創智慧新紀元

如今,數字化時代的浪潮席卷全球,人工智能已經成為推動社會進步的重要引擎。浪潮信息IPF24作為行業領先的AI技術盛會,不僅為業界提供了交流合作的平臺,更在激發創新活力、拓展發展路徑、加速AI技術落地等方面發揮了重要作用。 升級…

OS復習筆記ch6-2

死鎖的解決 死鎖的預防(打疫苗)死鎖的避免(戴口罩)死鎖的檢測(做核酸) 死鎖的預防 前面我們提到了死鎖的四個必要條件 防止前三個必要條件,就是間接預防防止最后一個必要條件–循環等待&…

軟測刷題-錯題1

提高測試效率的方法: 1、不要做無效的測試 2.不要做重復的測試 3.不同測試版本的測試側重點 4.優化測試順序 LoadRunner是對服務器進行施壓。 在數據庫中存在的用戶數是指注冊用戶數。 input標簽可以直接使用send_keys實現上傳,而非input標簽是無法直…

Rust后臺管理系統Salvo-admin源碼編譯

1.克隆salvo-admin后臺管理系統源碼: https://github.com/lyqgit/salvo-admin.git 2.編譯 編譯成功 3.創建mysql數據庫與執行sql腳本 輸入名稱ry-vue 執行sql腳本 全部執行上面3個sql 修改數據庫用戶名與密碼: 清理及重新編譯 cargo clean cargo build 4.運行并測試 cargo…

Android內存碎片化調優

概念 內存碎片分為兩種,一種是內存頁中的碎片,被稱為內部碎片;另一種是空閑分散的內存頁,湊不齊一個組物理地址連續的空閑內存頁,就沒辦法分配了,這些散落的內存頁被稱為外部碎片。 在Android系統中,內存碎片化是指內存中存在很多小塊的空閑內存,這些內存塊之間不連續…

使用vue,mybatis,mysql,tomcat,axios實現簡單的登錄注冊功能

目錄 第一步環境搭建 后端: 前端: 第二步畫流程圖 web: service: dao層: 第三步前端代碼的實現 這是開始的頁面,接下來我們要到router路由下書寫#login的路徑 路由中的component在我們自己創建的views書寫vue文件…

單日收益1000+看了就會的項目,最新靈異短視頻項目,簡單好上手可放大操作

各位好友,佳哥在此與大伙兒聊聊一項神秘莫測的短視頻項目。你或許會想,“又是一個視頻創作項目?” 但別急,這個項目與眾不同,日入千元不再是夢,而且它的易用性讓人驚喜,無論你是初學者還是資深玩…

春秋云境CVE-2018-7422

簡介 WordPress Plugin Site Editor LFI 正文 1.進入靶場 2.漏洞利用 /wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path/../../../../../../flag看別人wp做的。不懂怎么弄的,有沒有大佬講一下的

沒有電商經驗的人去操作抖音小店,難度大不大?好操作嗎?

大家好,我是電商小V 很多新手小伙伴想去操作抖音小店項目,咨詢的最多的問題就是我沒有電商運營的經驗可以去操作嗎? 當然是可以操作的,抖音小店項目對于新手來說是一個非常友好的項目,很多小伙伴都是感覺沒有電商經驗去…

數據庫攻防之MySQL

MySQL 是最流行的關系型數據庫,與此同時也是 web 應用中最好的關系型數據庫管理應用軟件。我們在滲透過程中碰到的 PHP 站點大部分都會搭配 MySQL 數據庫,因此它是紅隊攻防中最常遇到的數據庫。 0x01 MySQL簡介 MySQL 是典型的關系型數據庫,…

YOLOv10 | 無NMS的YOLO | 實時端到端目標檢測的新突破

過去幾年里,YOLOs因在計算成本和檢測性能之間實現有效平衡而成為實時目標檢測領域的主流范式。研究人員針對YOLOs的結構設計、優化目標、數據增強策略等進行了深入探索,并取得了顯著進展。然而,對非極大值抑制(NMS)的后…

redis--消息隊列

分類 生產者消費模式 發布者訂閱模式 生產者消費模式 在生產者消費者(Producer/Consumer)模式下,上層應用接收到的外部請求后開始處理其當前步驟的操作,在執行完成后將已經完成的操作發送至指定的頻道(channel)當中,并由其下層的應用監聽…

【Chrono Engine學習總結】6-創建自定義場景-6.2-chrono中的光線設置

由于Chrono的官方教程在一些細節方面解釋的并不清楚,自己做了一些嘗試,做學習總結。 上一篇文章中,自己【用sketchup重建了三維場景】,但導入chrono中顏色很不正確,幾乎都是白色的,但也不是完全白色。經過…

IDE上傳本地倉庫到GitHub

IDE上傳本地倉庫到GitHub 1、選擇遠程倉庫平臺2、下載安裝Git3、IDE集成Git4、本地項目上傳GitHub 1、選擇遠程倉庫平臺 1.1、注冊遠程倉庫平臺 常見的遠程倉庫托管平臺有: 1)GitHub 域名:https://github.com 介紹:GitHub是全球最…

Java訂餐系統源碼 springboot點菜系統源碼

Java訂餐系統源碼 springboot點菜系統源碼 源碼下載地址:https://download.csdn.net/download/xiaohua1992/89341358 功能介紹: 前臺登錄:前臺登錄: ①首頁:菜品信息推薦、菜品信息展示、查看更多 ②菜品信息&…

Stanford斯坦福 CS 224R: 深度強化學習 (3)

基于模型的強化學習 強化學習(RL)旨在讓智能體通過與環境互動來學習最優策略,從而最大化累積獎勵。傳統的強化學習方法如Q-learning、策略梯度等,通過大量的試錯來學習值函數或策略,樣本效率較低。而基于模型的強化學習(MBRL)則利用對環境的預測模型來加速學習過程,大大提高了…