「Krita」と「Python」の基礎知識
はじめに
高機能な無料ペイントツールとして有名な2DCGツールには「Krita(クリータ、図1)」「GIMP(ギンプ)」「Paint.NET(ペイントドットネット)」などがあります。KritaとGIMPはWindowsやmacOSやLinuxでクロスプラットフォームに動作しますが、Paint.NETは2024年6月現在、Windowsのみでしか動作しません。
KritaとGIMPを比較すると、GIMPの方が歴史があり利用者も多いかもしれませんが、Kritaは拡張機能として、Krita上で「Python(パイソン)」をプログラミングして絵を描いたり、アニメーションを作ったり、UIを利用したりすることもできます。そこがGIMPに対するKritaの決定的な優位性です。
本連載では、15回に渡ってKrita上でPythonをプログラミングしながらPythonの基礎知識を解説していきます。Pythonの文法を学びながら単純な図形を描くことから始め、画像ファイルを扱ったり、アニメーションを作ったり、UIで幾何学模様をカスタマイズしてオリジナルの絵を描いたり、Kritaプラグインを作ったりしていきます。
Kritaについて
Kritaはオープンソースで無料のオンラインソフトです。Kritaの公式サイト(図2)から簡単にダウンロードできます。
KritaはMDIのウィンドウで複数の絵を並行して編集できたり、レイヤー機能があったり、ペンタブレットと連携できたり、筆を選択できたり、フォントの文字を描けたり、色を選びやすかったりと、基本的なことは全て網羅した2Dペイントツールです。もちろん日本語にも対応しています。さらにKritaを実行中にその中でPythonをスクリプティングしたり実行したりもできます。
無料のスマホアプリだと広告が付いたりして煩わしいこともありますが、パソコンのフリーソフトは広告も付かずに使えるため快適で良いですね。ただ、広告の代わりに寄付を募る表示は出てきますが…。
そんなKritaですが残念な点もあります。アプリが落ちやすいことです。やっと作業が一段落しそうだというときに限って強制終了されることがあります。今後のバージョンアップでさらに安定性を高めて欲しいところです。ところで、Kritaは落ちやすいので、筆者はWindowsで簡単なことをするときにはPaint.NETを使うことが多いです。
Kritaの使い方について
本連載ではPython入門がメインになりますが、Kritaを使えば気軽に開発環境を揃えられて、スクリプティングして実行できます。本来ならPython本体とコードエディタ、ターミナルが必要になるところ、Kritaならこれ1つで全てできてしまいます。こういうところも本連載を始めた理由です。
なお、Kritaでスクリプティングと実行をするには、「スクリプター」という簡易IDE(統合開発環境)がメニューの中にあります。ちょっと簡易過ぎて物足りなくもあるのですが。
Pythonについて
Pythonはインタプリタ型のプログラミング言語の一種で、最も人気があるプログラミング言語の1つです。多くのランキングサイトで人気プログラミング言語の1位になっています。その理由はシンプルでイージーなプログラミングの文法にあるのでしょう。
例えば、Pythonの作者グイド・ヴァンロッサム氏はMicrosoft社に在籍しており、2024年6月現在Microsoft社の時価総額は世界1~2位です。また今話題のAIはPythonでプログラミングされることが最も多く、それを高速に計算するのにも使われるGPUを開発するNVIDIA社の2024年6月現在の時価総額は世界3位です。どちらも日本の国家予算よりも多いのです。
Python本体は2024年6月現在Version 3.12.3が最新版です。Pythonも公式サイトから簡単にダウンロードできますが、Kritaには最初からPythonが組み込まれているため、追加でダウンロードする必要はありません。
Pythonの長所は、ユーザーがたくさんいるため「パッケージ」が豊富にある点です。パッケージとはPythonの追加機能のことで、これにより車輪の再発明をすることなく、既存のパッケージを使えば楽に欲しい機能が使えます。もう少し詳しく言うと、Pythonのスクリプトであるpyファイルから別のpyファイル(モジュール)を読み込めるのですが、そのモジュールを機能ごとに集めたものがパッケージです。
一方でPythonのプログラミングしていて短所だと思ったのは、パッケージのバージョン管理が面倒な点です。どちらかと言うと勝手にバージョン管理をしてくれるのですが、Python本体の最新版が出たときにパッケージのバージョンが違うとうまく動作しない場合がある点が問題でした。ただしKritaの場合はPythonが最新バージョンではないため、大抵の既存パッケージは動くはずですから、それほど気にはなりません。
先ほどAIの話が出てきましたが「PythonでAIがプログラミングできるならAIのパッケージで絵が描けないの?」と思われたかもしれません。筆者もAIを勉強中で、まだそこまで使いこなせていません。ただし既に「krita-ai-diffusion」というKrita向けAIを作っておられる猛者もいるようです。
Kritaの基本的な使い方は分かっていた方が良いのですが、本連載ではそれほど基本機能でお絵描きする解説はしません。あくまでKritaの機能ではなく、Pythonのプログラムで絵を描くことがメインになります。筆者は当然できるだろうと思って記事を書いていても、中には全く2Dペイントツールを使ったことがない方もいるかもしれません。
以前、無料の3DCGツール「Blender」の入門書「BlenderユーザーのためのPython入門」という本を書いたことがあるのですが、レビューか何かで「PythonユーザーのためのBlender入門」の方が良かった、という意見もありました。つまりPythonはプログラミングできるからBlenderの使い方を教えて欲しい、ということでしょう。もしかすると本連載でもPythonのプログラミングはできるからKritaの使い方を教えて欲しい、という人もいるかもしれませんね。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 「Krita」を始める前にー「Python」の基本的な文法を押さえよう
- 「Krita」で「Python」をプログラミングしてはじめての画像を描こう
- 「Krita」と「Python」でダイアログUIを構築してみよう
- 「Krita」と「Python」でアーティスティックな絵を描こう
- Swiftでの文字列操作の基礎(その1)
- 「Krita」と「Python」でUIパーツを構築してみよう
- 「Krita」と「Python」で「ベジェ曲線」を描いてみよう
- 「Krita」と「Python」でアニメーションを描いてみよう
- ペイントソフトウェア「Krita 4.1.0」リリース
- ペイントソフトウェア「Krita 4.1.0」リリース