「Krita」と「Python」の基礎知識

2024年6月6日(木)
大西 武 (オオニシ タケシ)
第1回の今回は、無料2Dペイントツール「Krita」上で「Python」をプログラミングするための基礎知識を解説します。

Kritaのダウンロードとインストール

前置きはこれくらいにして、早速環境構築のためにKritaをダウンロードしてインストールして行きましょう。Kritaは、先にも紹介しましたが、公式サイトからダウンロードしてデフォルト設定でインストールしてください。WindowsでもmacOSでも、Linuxでも同様に動作します。

なお、2024年6月現在のKritaの最新版はVersion 5.2.2です。定期的にバージョンアップがありましたが、今年に入ってからまだ1度も最新バージョンが出ていないのが残念です。

スクリプターの使い方について

KritaでPythonをプログラミングするには「スクリプター」機能を使います。スクリプターは図3のように「ツール」→「スクリプト」→「スクリプター」メニューにあります。

前述しましたが、Kritaは落ちやすいため使い慣れたエディタで「スクリプティング」しても良いでしょう。Pythonなので敢えてコードを書く「コーディング」と言わず、スクリプトを書くので「スクリプティング」と言います。

図3:「スクリプター」メニュー

既存のpyファイルを開くには、図4のように「スクリプター」にある「ファイル」→「開く」メニューで開きます(Kritaメインの「ファイル」→「開く」メニューではありません)。ここではまだ何も開く必要はありません。

図4:pyファイルを「開く」

Kritaで実際にPythonをプログラミングしてみる

Pythonプログラミングの文法で最大の特徴は、何と言っても必ず「インデント」で階層分けをするところでしょう。インデントとは半角空白文字やタブ文字で「字下げ」することです。同じpyファイルの中では半角空白文字だけかタブ文字だけか片方に統一します。

例えば、下記のサンプルスクリプト01は動きますが、インデントのないサンプルスクリプト02はエラーが出ます。その理由は「for」文で中身を必ず1文は書かなければいけないところ、インデントしていないため「print(str(i))」がfor文の外だと判断されてしまうからです。

for文は大抵のプログラミング言語にもある制御構文なので分かるでしょうし、print文もよくあるコンソールに文字を出力する関数です。またサンプルスクリプト02を敢えて書き換えるなら、サンプルスクリプト03のようにスクリプティングします。

・サンプルスクリプト01(成功)
for i in range(0,10):
  print(str(i)) # インデントする

print("0~10未満の数字をコンソールに表示する")
・サンプルスクリプト02(エラー)
for i in range(0,10):
print(str(i)) # インデントしていない

print("エラーになる")
・サンプルスクリプト03(成功)
for i in range(0,10):
  pass # インデントする

print(str(i))

print("for文で何もしない")

先ほどのサンプルスクリプト01のようにスクリプティングし、図5のように右向き三角「▷」をクリックして実行するとコンソール画面に文字が表示されます。ここでは、まだ図形を描くなどのKritaの機能は使っていません。

Pythonのもう1つすごいところは、単体でも実行できるだけでなく様々なツールに組み込んで、そのツールの機能も扱える点です(これはツール開発者が行うことなので、本連載では解説しません)。今回で言えば、組み込まれたPythonからKritaの基本機能にアクセスして、レイヤーを追加したり画像を読み込んだりもできる、ということです。

図5:Pythonのスクリプトを実行

おわりに

今回は連載第1回ということで、KritaとPythonの基礎知識や両者の関係について、Krita上でPythonをプログラミングしてスクリプトを書けることを紹介しました。

次回からは、Pythonの文法の解説に入っていきます。前連載の「『TAURI』+『Rust』ではじめるデスクトップアプリ開発」では序盤に文法の解説ばかりで前置きが長くなってしまったので、第3回からはすぐにKritaの基本機能にアクセスしていきたいと思います。

著者
大西 武 (オオニシ タケシ)
1975年香川県生まれ。大阪大学経済学部経営学科中退。プログラミング入門書など30冊以上を商業出版する作家。Microsoftで大賞やNTTドコモでグランプリなど20回以上全国区のコンテストに入賞するアーティスト。オリジナルの間違い探し「3Dクイズ」が全国放送のTVで約10回出題。
https://profile.vixar.jp

連載バックナンバー

開発言語技術解説
第1回

「Krita」と「Python」の基礎知識

2024/6/6
第1回の今回は、無料2Dペイントツール「Krita」上で「Python」をプログラミングするための基礎知識を解説します。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています