0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

メメントモリを楽しく!アプリを作ってみよう!(進化UI)

Last updated at Posted at 2025-09-29

進化判定結果を表示する

画面の構成は、前回内容を参照してください。
https://qiita.com/puyon/items/3343f1b0850bcacda66e

画面の構成は、こんな感じ。

コントロール 役割
TreeView 判定したキャラ
PictureBox キャラ画像
TextBox 判定内容
ToolStrip 画面操作

判定したキャラの部分は、該当のキャラをTreeNodeへ追加していく。
判定内容の部分は、進化判定内容をセットする。
キャラ画像の部分、画面操作の部分については、こぱちゃんに教えてもらった。

キャラ画像の取得と表示

HTML取得したときに、キャラ画像へのURLが一緒にくっついてくるので、URL先から画像データをダウンロードする。
ダウンロードした結果を PictureBox へセットすると表示したことになる。

画像データのダウンロードは、HttpClientを使うと簡単につくれるとのこと。
結果として、byte配列が返ってくる。

public static async Task<byte[]> GetIconBytes(string url)
{
    using (var client = new HttpClient())
    {
        var bytes = await client.GetByteArrayAsync(url);
        return bytes;
    }
}

byte配列を、今度は Image へ変換する。

public async Task LoadCharacterImageAsync(string url, PictureBox pic)
{
    var bytes = await HtmlTool.GetIconBytes(url);
    using (var ms = new MemoryStream(bytes))
    {
        pic.Image = System.Drawing.Image.FromStream(ms);
        pic.Size = pic.Image.Size;
    }
}

画面操作(キャラ詳細URLを開く)

「URL」をクリック、または、キャラ画像(PictureBox)をクリックすると、「デフォルトのブラウザ」でURLを開く。
結果として、特定キャラの詳細情報を確認することができる。
キャラの詳細情報URLも、HTML取得したときにくっついてくる。

デフォルトブラウザは、こんな感じで取得できるとのこと。
※他にもやりかたがあるらしい。

public static string getDefaultBrowser()
{
    string progId = Registry.GetValue(
        @"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.html\UserChoice",
        "ProgId",
        null
    ) as string;
    return progId;
}

あとは、プロセスを起動する。

Process.Start(new ProcessStartInfo
{
    FileName = ContentUrl,
    UseShellExecute = true
});

※「デフォルトブラウザ」を取得しなくても、キャラ情報URLがわかっていたら、該当URLを表示可能です。

次回は。

アプリ作成の目的は、これで達成したので、ここらで一旦は終了とします。
読んでくださいました方々には、本当に感謝しています。
つたない内容でありましたこと、最後ですが、どうかご容赦ください。

まぁ、気が向いたら、多段階進化判定を取り上げたいと思います。

ここまで読んでくださった方、よろしければ、拙作アプリを試してみて感想など頂けると幸いです。
アプリのほうは、Ver2.0を考えています。
・多段階進化表示(表形式・グラフ形式)
・フォント切り替え
・メモ機能
・キャラ画像バックグラウンドDL

でわでわ ('ω')ノ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?