はPIL(パイソンイメージング図書館は)線形グラデーションまたは/を描画するためのメソッドを持っているとクリッピングパスを設定していますか?PILを使用してクリッピングマスクを使用してグラデーションを描画しますか?
私はどこにでも見えましたが、どちらかを使用する方法を示す例は見つかりません。あるいは同様のタスクを行うことができる他のグラフィックライブラリがありますか?
はPIL(パイソンイメージング図書館は)線形グラデーションまたは/を描画するためのメソッドを持っているとクリッピングパスを設定していますか?PILを使用してクリッピングマスクを使用してグラデーションを描画しますか?
私はどこにでも見えましたが、どちらかを使用する方法を示す例は見つかりません。あるいは同様のタスクを行うことができる他のグラフィックライブラリがありますか?
私はPILについてはわかりませんが、代替案についても尋ねたので、ここではwxPythonを使った線形グラデーションとクリッピング領域の例を示します。
wxPythonはイメージ操作に厳密には対応していませんが、ジョブを完了させることができます。
import wx
def render(dc):
dc.Clear()
region = wx.RegionFromPoints([(256, 64), (448, 448), (64, 448)])
dc.SetClippingRegionAsRegion(region)
dc.GradientFillLinear((0, 0, 512, 512), wx.RED, wx.BLACK, wx.NORTH)
def main():
app = wx.PySimpleApp()
bitmap = wx.EmptyBitmap(512, 512)
render(wx.MemoryDC(bitmap))
bitmap.SaveFile('output.png', wx.BITMAP_TYPE_PNG)
if __name__ == '__main__':
main()
このプログラムの出力:
この例では、標準の描画コンテキストを使用していますが、追加機能と優れたレンダリング(アンチエイリアシング)を提供GraphicsContext
もあります:
http://www.wxpython.org/docs/api/wx.GraphicsContext-class.html
ありがとう!私はTkInterの代わりにwxPythonを使い始めるべきだと思います。 –
wxPythonはこれを行うことができます。 ( 'GradientFillLinear'と' SetClippingRegion')あなたが興味を持っているなら、例を書くことができます。 – FogleBird