如標題所示--想象有一些Gimp.xcf檔案,包含許多層。這些層中的一部分包含文本。是否有任何格式可以讓我將.xcf檔案匯出,以某種方式保留 "人類可讀 "的文本?
最終的目標是處理這些文本并將其再次放入檔案中,我知道這聽起來很不尋常,但也許你們中的一些人知道如何實作這樣的場景。
我做了一些研究,我看到我可以將影像匯出為.psd格式,然后使用NPM包處理該影像并提取文本。這只是部分解決了問題,因為我不知道如何將處理后的文本放回這個.psd檔案中(除非我反編譯這個NPM包,并嘗試自己寫一些實作......)
任何解決方案和替代方案。
非常感謝任何解決方案和替代方案
。uj5u.com熱心網友回復:
你可以為Gimp撰寫腳本(使用Scheme或Python)。從技術上講,你不能改變一個圖層中的文本(沒有這方面的API),但你可以恢復一個文本圖層的特征(原始文本、字體型別、字體大小......),并以新的文本重新創建一個新的圖層。下面是一些恢復文本資訊的Python代碼:
def text_info(img,layer):
parasites=None
試試。
parasites=layer.parasite_list()
except Exception as e:
傳遞。
如果parasites和'gimp-text-layer'在parasites中。
data=layer.parasite_find('gimp-text-layer').data
pdb.gimp_message('Text layer "%s": %s' % (layer.name,data))
否則。
pdb.gimp_message('No text information found for layer "%s"' % layer.name)
(這個資訊只存在于已經保存的檔案中,它在新創建的圖層上是不可用的,但在你的情況下應該沒有問題)
當然,如果文本是在它自己的普通位圖層中,這是不可能做到的,你必須猜測字體型別& 大小(但有時上面的代碼仍然可以恢復文本資訊)
但是如果你的XCF有一個簡單的結構,把它分解成單獨的影像,并用ImageMagick建立一個新的影像,使用其中的一些層和新的文本影像(或直接渲染的文本),會簡單得多。轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/309064.html
標籤:
上一篇:如何在css網格布局中添加一個全寬的表單輸入,并且不引起列的增長。
下一篇:根據地圖的內容更新資料框的行數
