前言
之前在圖形處理系列課程中,講過如何給圖片添加上文字,盡管通過程序設(shè)定儡炼,已經(jīng)可以實現(xiàn)文本自動居中的效果,人的需求是會不斷變的查蓉,我們有時候可能并不想只放在中間乌询,而是想要放到圖片的任意一個位置,用原來的方法改一改坐標(biāo)也是可以實現(xiàn)的豌研,不過會非常麻煩妹田。如果可以可視化的操作,讓我們自己調(diào)整文字到我們想要的位置鹃共,那應(yīng)該非常方便鬼佣。
今天就來介紹如何自己設(shè)計一個可以進行可視化操作,給圖片添加上文字的方法霜浴。
可視化的核心其實就是讓可視化的操作變化對應(yīng)轉(zhuǎn)化成實際變化晶衷,簡單點說,可視化時我們操作移動文字到左上角了阴孟,如何讓實際生成的圖片的文字也在左上角晌纫?比如可視化時我們時x,y各減小100,實際要達到這種效果永丝,我們就需要進行一個對應(yīng)的轉(zhuǎn)化了锹漱,因為二者的坐標(biāo)系統(tǒng)可能不一致,可能我們需要x,y各增大200类溢。
我們操作的時候移動文字位置了凌蔬,這里只是給我們看的,如果直接就生成圖片闯冷,其實得到的結(jié)果并沒有變化砂心;要想將這種移動變化轉(zhuǎn)化成實際的移動,我們需要計算二者的轉(zhuǎn)換關(guān)系蛇耀,在生成的時候直接就將這種數(shù)值關(guān)系對應(yīng)的實際變化中就實現(xiàn)了對應(yīng)的效果辩诞。
效果展示
支持更改畫布大小和更改背景色,可以選擇保存圖片的類型(png和jpg)纺涤。
支持字體的修改译暂,文字內(nèi)容抠忘,顏色,大小外永,顯示位置崎脉。
如果不用默認的背景圖,也可以自己選擇圖片伯顶,同樣支持上面的功能囚灼。
實現(xiàn)思路:
1.功能構(gòu)思。
畫布:使用一個標(biāo)簽祭衩,支持大小和背景更改(使用滑動控件和單行輸入框)
圖片選擇:使用一個按鈕和一個標(biāo)簽
文本內(nèi)容:使用一個標(biāo)簽灶体,支持大小,字體類型掐暮,顏色蝎抽,顯色位置。(使用滑動控件路克,字體下拉框控件和單行輸入框)
保存:使用一個按鈕和一個下拉框樟结。
2.UI布局設(shè)計。
功能較多衷戈,整個界面也比較大狭吼,這里顯示的不完成,總體就是分為左右兩側(cè)布局殖妇,左側(cè)里面采用垂直布局刁笙,里面的每一個小功能采用的是水平布局。右側(cè)其實里面有兩個標(biāo)簽谦趣,分別用來顯示圖片和文字內(nèi)容的疲吸。
3.轉(zhuǎn)換界面為python文件代碼
利用pyside2-uic將ui文件轉(zhuǎn)換成py文件。
4.初始化界面
5.功能實現(xiàn)前鹅。
其實整體功能實現(xiàn)并不難摘悴,主要分為了幾個大部分,畫布區(qū)改變響應(yīng)舰绘,畫布區(qū)里面顯示的其實是圖片蹂喻,所以這里imgNew專門用來生成圖片的,textChange用來實現(xiàn)文本內(nèi)容和樣式的改變捂寿,selectImg用來選擇圖片口四,最后一個saveImg用來生成保存圖片用的。
(全文完)
長按二維碼秦陋,加關(guān)注蔓彩!葉子陪你玩
歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處!
歡迎關(guān)注公眾微信號:葉子陪你玩編程
分享自己的python學(xué)習(xí)之路