日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

这个沙雕项目,可以自制PornHub风格LOGO

發布時間:2024/3/24 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 这个沙雕项目,可以自制PornHub风格LOGO 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PornHub又名P站,網站流量在全球也是TOP10級別的,和淘寶、百度等站點同一個level,他們家網站的LOGO也顯得個性鮮明。

如何用Python畫一個呢?

畫圖需要用到一個庫叫Pillow,它是專門用來處理圖像的,功能非常強大,修圖工具能做的事,都可以用Pillow來實現。

我們可以先分析下這張圖的結構

它由兩部分組成,左邊是黑底白字,右邊是黃底黑字,還有一點點圓角。這兩部分包裹在一個黑色矩形框中。

思路清楚了后,就可以動手實現

先實現左圖

def left_img(text):# 指定字體和字體大小font = ImageFont.truetype('ArialEnUnicodeBold.ttf', FONT_SIZE)font_width, font_height = font.getsize(text)offset_y = font.font.getsize(text)[1][1]blank_height = font_height * 2right_blank = int(font_width / len(text) * 0.25)img_height = font_height + offset_y + blank_height * 2image_width = font_width + right_blank# 設置圖片寬高image_size = image_width, img_heightimage = Image.new('RGBA', image_size, BG_COLOR)draw = ImageDraw.Draw(image)# 畫圖draw.text((0, blank_height), text, fill=LEFT_TEXT_COLOR, font=font)image.save("left.png")return image

運行后生成的圖片是這樣的



右圖也是類似的操作方式,只需要修改背景色和文字顏色

def create_right_img(text: str, font_size: int):radii = RIGHT_PART_RADIIfont = ImageFont.truetype('ArialEnUnicodeBold.ttf', font_size)font_width, font_height = font.getsize(text)offset_y = font.font.getsize(text)[1][1]blank_height = font_heightleft_blank = int(font_width / len(text) * 0.25)image_width = font_width + 2 * left_blankimage_height = font_height + offset_y + blank_height * 2image = Image.new('RGBA', (image_width, image_height), BOX_COLOR)draw = ImageDraw.Draw(image)draw.text((left_blank, blank_height), text, fill=RIGHT_TEXT_COLOR, font=font)# 圓magnify_time = 10magnified_radii = radii * magnify_timecircle = Image.new('L', (magnified_radii * 2, magnified_radii * 2), 0) # 創建一個黑色背景的畫布draw = ImageDraw.Draw(circle)draw.ellipse((0, 0, magnified_radii * 2, magnified_radii * 2), fill=255) # 畫白色圓形# 畫4個角(將整圓分離為4個部分)magnified_alpha_width = image_width * magnify_timemagnified_alpha_height = image_height * magnify_timealpha = Image.new('L', (magnified_alpha_width, magnified_alpha_height), 255)alpha.paste(circle.crop((0, 0, magnified_radii, magnified_radii)), (0, 0)) # 左上角alpha.paste(circle.crop((magnified_radii, 0, magnified_radii * 2, magnified_radii)),(magnified_alpha_width - magnified_radii, 0)) # 右上角alpha.paste(circle.crop((magnified_radii, magnified_radii, magnified_radii * 2, magnified_radii * 2)),(magnified_alpha_width - magnified_radii, magnified_alpha_height - magnified_radii)) # 右下角alpha.paste(circle.crop((0, magnified_radii, magnified_radii, magnified_radii * 2)),(0, magnified_alpha_height - magnified_radii)) # 左下角alpha = alpha.resize((image_width, image_height), Image.ANTIALIAS)image.putalpha(alpha)image.save("right.png")return image

效果圖



最后一步就是將兩張圖合并到一張黑底背景的矩形框就好了。

def create(left_text, right_text):left_img = create_left_img(left_text)right_img = create_right_img(right_text, FONT_SIZE)blank = 30bg_img_width = left_img.width + right_img.width + blank * 2bg_img_height = left_img.heightbg_img = Image.new('RGBA', (bg_img_width, bg_img_height), BG_COLOR)bg_img.paste(left_img, (blank, 0))bg_img.paste(right_img, (blank + left_img.width, int((bg_img_height - right_img.height) / 2)), mask=right_img)bg_img.save(f'{left_text}{right_text}.png')

最終的效果圖:


想生成其它文字版本只需要換個詞就可以,比如GitHub套用P站風格就是這樣的

完整源代碼可進入公眾號主頁回復“PH”獲取

總結

以上是生活随笔為你收集整理的这个沙雕项目,可以自制PornHub风格LOGO的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。