Category: Windows

Windowsデスクトップアプリを作ってみる

Windows上で簡単なカメラのアプリを作る

  • Visual Studio Community 2022 Version 17.7.3
  • タブレット付属のカメラで撮る簡単なアプリ

基本的な仕様

  • Visual Studioで開発
  • ウィンドー内に「撮る」と「連写」のボタンがある
  • Windowsタブレットについているカメラからの映像を表示するエリアを持つ
  • カメラからの映像を保存する際のファイル名は日時をミリ秒までの文字列にする。
    • ファイルのハッシュをファイル名の最後につけるようにする
  • 保存する画像はpngフォーマット
  • 「撮る」のボタンを押すと1枚、保存
  • 「連写」ボタンを押すと20秒間、カメラからの映像を1フレームごと1枚の画像データとして保存していく。
    • この時、負荷は高くなるが、負荷テストの意味も兼ねているので許容する
  • 現在のカメラからの入力をウィンドー内に表示する
    • このGUI部分は System.Windows.Forms と WindowsFormsIntegration を用いて実装する
  • UIとロジックのコードを分離するようにする
  • エラーハンドリングのコードは持つようにする
  • プロジェクトはWindows FormsではなくWPFで実装

あったら良いなという機能

  • ディスク上でデータが断片化しないように複数のファイルがシーケンシャルに書き込まれるようにする
  • 音声トリガー撮影

VisualStudioでプロジェクトを作製

  • C# WPFアプリケーション でプロジェクトを作製
  • フレームワークは[.NET 7.0(標準用語のサポート)]を選択

開発中のメモ

EMGU.CVというC#でOpenCVを利用するためのラッパーをいれようとすると下記のエラーが出た。

パッケージ ‘Emgu.runtime.windows.msvc.rt.arm64 19.35.32217.1’ をインストールできませんでした。このパッケージを ‘.NETFramework,Version=v4.7.2’ を対象とするプロジェクトにインストールしようとしていますが、そのフレームワークと互換性があるアセンブリ参照またはコンテンツ ファイルがパッケージに含まれていません。詳細については、パッケージの作成者に問い合わせてください。

古いバージョンのC#のプロジェクトが作れるようにVisualStudio installerから .Net framework 4.6.2-4.7.1開発ツール を追加した。

.Net 7.0でプロジェクトを作製した。

.NET Core 3.1ってなんだろうか

Emgu.runtime.windows のインストール

VisualStudio で[ツール]->[NuGetパッケージマネージャ]->[ソリューションのNuGetパッケージの管理]->現れたダイアログで[参照]-[Emgu.runtime.windows] emgu.cv.runtime

カメラのキャプチャにはライブラリが必要

WPFのデフォルトではカメラからの入力のリアルタイムで出す方法は見つからなかった。 AForge、OpenCvSharpなどのライブラリが存在する。

  • Microsoft.Windows.SDK.ContractsというNuGetパッケージを使い、Windows.Media.Capture、

Windows.Media.MediaProperties、System.Windows.Media.Imagingなどのクラスを使います

ChatGPTに最初、手伝ってもらいたい

次の使用をもつWindowsデスクトップアプリのコードを作って下さい “- Visual Studioで開発

Read more...

Windows設定の個人的な事

環境

  • Windows10 pro
  • nec-versa-pro-j-type-vt

セットアップ

CapsLock を Ctrl に変更

ctrl2cap をインストール

変換を ctrl + space で開始する

IMEを右クリック->設定->キーとタッチのカスタマイズ->Ctrl+Space->IMEのオンとオフ

bash

Git Bashって使ってる?Windowsで動く意外にすごい便利ツール | 侍エンジニアブログ

これで C:\Program Files\Git\bin\bash.exe にbashがインストールされる。

weztermインストール

https://wezfurlong.org/wezterm/install/windows.html

デフォルトだとコピペは中クリックでできる。

設定ファイルはホームディレクトリ(C:\User\ユーザー名)配下に .wezterm.lua に置く

次の形でbashを起動するようにする。

-- Pull in the wezterm API
local wezterm = require 'wezterm'

-- This table will hold the configuration.
local config = {}

-- In newer versions of wezterm, use the config_builder which will
-- help provide clearer error messages
if wezterm.config_builder then
  config = wezterm.config_builder()
end

-- This is where you actually apply your config choices

-- For example, changing the color scheme:
config.color_scheme = 'AdventureTime'
config.default_prog = { 'C:\\Program Files\\Git\\bin\\bash.exe' }

-- and finally, return the configuration to wezterm
return config

weztermを起動し、 ssh-keygen ssh-copy-id でログインするマシンにssh鍵を転送し、weztermの設定を下記のように書き換える。 これでweztermを起動すると自動的にリモートに接続する。

Read more...

Windows関連のメモ

        - 10日間、猶予期間が伸びる
          - 10日間は短すぎる。 あと延長できる『回数』は3回までなので、1ヶ月しか伸びない。
          - アクティベーション有効だと60日間延長、3回までできる。