コンピュータC#のListをJSON形式でシリアライズ・デシリアライズする2。「型を確認する」 前回インターフェイスのデシリアライズに失敗しましたので対策を考えてみたいと思います。まずListの要素の型を確認します。TはISampleBaseですが各要素に対してGetType()メソッドを実行しどの型になるか確認します。using S... 2024.04.25コンピュータ
コンピュータC#のList<T>をJSON形式でシリアライズ・デシリアライズする。 List<T>のTをインターフェースにしたオブジェクトをJSON形式でシリアライズ・デシリアライズ出来るのか確認してみます。予想ですがシリアライズは出来てもデシリアライズは無理そうな気がします。まずはシリアライズしてみます。using Sy... 2024.04.24コンピュータ
コンピュータC#でzipファイルをバイナリデータとして読み込んでみる。 C#ではzipファイルを扱うライブラリがありますが、今回はzipファイルをバイナリデータとして読み込んんで中身をのぞいいてみようと思います。wikipediaでZIPファイルのページを眺めていたところZIPファイルの構造の情報がありました。... 2024.04.20コンピュータ
コンピュータPython-OpenCVで図形の縁を検出するルーチンを考える 全てのピクセルの左右上下を検査し縁に当たる部分か調べる方法で縁取りをしてみます。#!/usr/bin/env python3# coding: utf8import cv2import numpy as npdef createBaseIm... 2024.04.20コンピュータ
コンピュータWPFで動画ファイルを再生するサンプル「イベントの動作確認」 MediaElementはWPFで動画を再生することが出来るコントロールです。今回は動画を再生した際どのようなイベントが発生するか確認してみます。サンプルプログラムファイル名:MainWindow.xaml<Window x:Class="... 2024.04.20コンピュータ
コンピュータC#のList<T>とインターフェイス インターフェイスを使ったことはあっても自分で作る機会ほどんどないのですが、たまたま使わざるをえない状況になりましたので、サンプルプログラムを書いてみたいと思います。using System.Collections.Generic;names... 2024.04.19コンピュータ
コンピュータWPFのコントロール「Border」のサンプル 「Border」の名称から罫線を引くコントロールと予想しますが、実際どのような代物なのか試してみます。XAMLにborderをセット<Window x:Class="BorderSample.MainWindow" xmlns=" xmln... 2024.04.18コンピュータ
コンピュータC#でWPF学習中「WPFプロジェクトを作成するスクリプト3」 前回にクラスライブラリとコンソールプロジェクトを使えるようにしましたが、今回はシンプルにWPFのアプリケーションを作成するプロジェクトを作成します。WPFプロジェクトを作成しMicrosoft.Xaml.Behaviors.WpfとReac... 2024.04.17コンピュータ
コンピュータC#でzipファイル内のファイルを削除 ZipFileをUpdateモードで開いてzipファイル内のファイル(Entry)を取得Delete()メソッドで削除します。ソースコードusing System.IO.Compression;const string zipfile = ... 2024.04.16コンピュータ
コンピュータC#のWinFormsでINotifyPropertyChangedを使ってコントロールとデータバインディングしてみる。 WPFでINotifyPropertyChangedを使ってみたことがありました。その後にもっと便利なReactiveProperyを知ったため、長らく忘れていました。正直MVVMなWPFは小規模なプログラミングだと面倒を感じ、WinFor... 2024.04.15コンピュータ
コンピュータ動画の出力に失敗する場合、動画の幅と高さの設定をみなおす。 オープンソース系のソフトで動画出力部分にffmpegが使われている場合が多いのですが、最近とあるアプリケーションで動画を書き出した所、イベントログにffmpeg.exeがクラッシュした旨ログが出力されていることがありました。.AVIでは成功... 2024.04.15コンピュータ
コンピュータファイルをバイト配列に読み込む実験「FileStream.ReadとParallel.For」 SSDに保存されたファイルサイズが216MBのPNG形式画像ファイルがありまして、これをWinFormsのPictureBoxで表示するプログラムを書きます。 // パターン0 using FileStream fs = new(fileN... 2024.04.14コンピュータ
コンピュータC#のWinFormsでSystem.DrawingとMagick.NETとOpenCVSharpでPNGファイルのデコード速度を比較 手作りのソフトなので計測なので精度は今一つですが、System.Drawingが一番速い結果になりました。System.Drawing:22msMagick.NET:39msOpenCVSharp:33msWindows環境で実行しているの... 2024.04.14コンピュータ
コンピュータC#のWinFormsでファイルマネージャを作る3。「サムネイル表示の高速化」 ListViewの動作が遅い原因を探ってみたところ、オーナードローでの描画にサムネイル画像の用意が間に合っていないことが原因でした。VirtualModeで表示部分だけの描画される動作も、そもそも描画の準備が間に合っていないためスクロールす... 2024.04.13コンピュータ