前言
之前在圖形處理系列課程中,講過如何給圖片添加上文字,盡管通過程序設(shè)定,已經(jīng)可以實現(xiàn)文本自動居中的效果,人的需求是會不斷變的,我們有時候可能并不想只放在中間,而是想要放到圖片的任意一個位置,用原來的方法改一改坐標(biāo)也是可以實現(xiàn)的,不過會非常麻煩。如果可以可視化的操作,讓我們自己調(diào)整文字到我們想要的位置,那應(yīng)該非常方便。
今天就來介紹如何自己設(shè)計一個可以進(jìn)行可視化操作,給圖片添加上文字的方法。

可視化的核心其實就是讓可視化的操作變化對應(yīng)轉(zhuǎn)化成實際變化,簡單點說,可視化時我們操作移動文字到左上角了,如何讓實際生成的圖片的文字也在左上角?比如可視化時我們時x,y各減小100,實際要達(dá)到這種效果,我們就需要進(jìn)行一個對應(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)容,顏色,大小,顯示位置。

如果不用默認(rèn)的背景圖,也可以自己選擇圖片,同樣支持上面的功能。

實現(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í)之路