かくすけのいろいろ作るブログ

かくすけの開発者ブログです。開発の他いろいろなモノづくりについて書きます。

【C#】PC画面の一部を切り出し、翻訳するWindowsアプリの開発1

こんにちは。かくすけです。
今回からは個人的に欲しいと思っている
「PC画面の一部を翻訳してくれる」アプリケーションを開発していきます!

かくすけWebページも作りたくはありますが、9月以降にいただけるお仕事がある程度決まったので
しばらくは営業ツールは必要ないのかな・・と
いま作りたいものを優先することにしました

2020/06/24 このツールを「CapTra」という名称でベータ版を公開しました!!
↓の記事に詳細とダウンロード方法を載せています。

kakusuke98.hatenablog.com

ほしい理由はずばり日本語化されていない海外のゲームをもっと楽しみたいから!!
英語は全く読めないわけではないのですが、ストーリー重視のゲームとかだとやっぱり理解できずに悔しい思いをするんですよね・・・
きっと同じ気持ちの人は多いはず!(特に私の周りには)ということでこのアプリ開発を開始しました!

目次

  • 完成イメージ
  • 処理の流れ
  • 使用サービスなど
  • 新しいプロジェクトの作成

完成イメージ

イメージは↓のような感じ

f:id:kakusuke98:20190711173207p:plain

英語と日本語を例に出してますが、他の言語も対応したいと思ってます。
先に翻訳する画面範囲を指定しておいて、指定したキーを押すことで翻訳してくれるイメージです。
範囲指定は何か所かできるようにしたいけど、画面のあちこちに文字が出るタイプのゲームには対応できない想定です。
リアルタイム取得ではなくキーを押したタイミングで翻訳するのはお金の問題。
使おうと思っているGoogleの翻訳APIは使った分だけ課金されるのでそこを抑えるためです。

画面をドラッグして翻訳するソフトはすでにあるみたいなのですが、ゲームによっては文字送りが早くて追いつかなかったりするのでこのような形式で作るつもりです!

処理の流れ

翻訳処理の流れは次のような感じ

  1. ショートカットキーの入力を取得
  2. 指定範囲の画像を取得
  3. 画像の文字を認識
  4. 認識した文字を翻訳
  5. 翻訳結果の表示

使用サービスなど

このアプリを開発するために、次のようなソフトを使用する予定です!

C#は過去に次のようなアプリを作ったことがあります(クオリティはおいといて)

  • 仮想ペットとおしゃべりできるアプリ
  • 指定範囲の画面キャプチャをWebページ(自作)に送信するアプリ
  • 指定したWebページの指定した場所の文字列を取得するアプリ

「指定範囲の画面キャプチャをWebページ(自作)に送信するアプリ」を5年ほど前に作ったので
きっと今回の指定範囲の画像取得もできるでしょう。

新しいプロジェクトの作成

では内容にはいります。
今回はVisual Studio 2019を使って開発を行います。

Visual Studio のインストール方法の説明は割愛させていただきます。
次のページからインストールしてくださいね!

docs.microsoft.com

では、アプリケーションを作るための新規プロジェクトを作成しましょう。
人によって画面は違うかもしれませんが、何となくで進めてくださいw
Visual Studio 2019を開き「新しいプロジェクトの作成」を選択します。

f:id:kakusuke98:20190711181733p:plain

次に使用するプロジェクトテンプレートを選択します。
今回はWindowsフォームアプリケーションを選択し「次へ」ボタンをクリックします。

f:id:kakusuke98:20190711182254p:plain

プロジェクト名などを付けられる画面が表示されます。
お好きな名前、場所を選択して作成しましょう。(作成時にちょっと時間がかかります)

f:id:kakusuke98:20190711182954p:plain

作成が完了すると、空の状態の開発画面が表示されます。

f:id:kakusuke98:20190711183156p:plain

さあ、楽しい開発の時間です!!
といいたいところですが、今回はここまで。
次回は画面の基礎を作っていきます。