物理の駅 by onsanai

Physics Station → PhSt 質問・疑問・間違いの指摘は、コメントに書くか、直接伝えるときっと良いことがあります。主にWindows or Ubuntu用の記事です

C#

C#でenumを文字列からParseする

C#

Enum.Parse を使うと良い。 using System; namespace ConsoleApp3 { class Program { public enum Status { StatusA, StatusB, StatusC } static void Main(string[] args) { Console.WriteLine((Status)Enum.Parse(typeof(Status), "StatusA")); Console.Wr…

.NET Framework から .NET Core への移植の概要

docs.microsoft.com docs.microsoft.com www.nuits.jp

C# WPFのタップで右クリック(長押し)を実装する方法

C#

TouchDownイベントとTouchUpイベントにそれぞれ下記の関数をbindすればよい。 private readonly Stopwatch SWTouch = new Stopwatch(); private void Image_TouchUp(object sender, TouchEventArgs e) { if (SWTouch.Elapsed.TotalMilliseconds > 700) { Rig…

WPF C#アプリケーションで未処理例外に対応する方法

C#

mseeeen.msen.jp hilapon.hatenadiary.org 上の記事にある通り、 App.xaml.cs を以下のようにする。 using System; using System.Diagnostics; using System.Threading.Tasks; using System.Windows; using System.Windows.Threading; namespace MyApplicati…

C#とC++ででディレクトリ名、拡張子を変えずに、ファイル名だけを変える

C#

C#版 var filenpath = @"C:\Users\Directory\Filename.txt"; Console.WriteLine(Path.Combine(Path.GetDirectoryName(filenpath), Path.GetFileNameWithoutExtension(filenpath) + "Test" + Path.GetExtension(filenpath))); C++版 filesystem::path path0 =…

CCDカメラで撮像した画像をOpenCVを使って縞々模様を除去する

CCDカメラは読み出し方式による縞々模様(1行ごとに輝度の濃淡が発生する)現象が起こる。 通常、ハードウェア側で調整されるものだが、ソフトウェア側で調整する必要に迫られたので、そのコードを公開する。 なお、Visual Studio + C# + OpenCVSharp と C++を…

NuGetで自作パッケージを公開した

pythonパッケージに比べて簡単すぎた。参考にしたのは以下のサイト qiita.com ソースファイル Masahiro Yoshimoto / affine6p-cs · GitLab パッケージ NuGet Gallery | Affine6P 1.0.2

OpenCVを使った画像内のピーク検出プログラム

ピークの周波数によって、途中のBoxFilterとGaussianBlurのカーネルサイズは変えると良い。 背景の強度を求めて、有意度を求めるのがこのプログラムのミソである。 var size = new OpenCvSharp.Size(nbin, nbin); Mat signal = Mat.Zeros(size, MatType.CV_3…

C# WPFで グリッドマーク上にTextBlockやRectangleを配置する

C#

供養 var textBlock = new TextBlock { HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Center, Text = text, FontSize = 0.1 }; var rectangle = new Rectangle { Stroke = Brushes.Black, StrokeThickness = 0…

C#でPythonのスクリプトを実行して戻り値を取得する方法

英語をすらすら読める人はここを読めば全て解決する。 code.msdn.microsoft.com C#からPythonを呼び出し、返り値を取得する方法としては、C#におけるプロセス間通信の一つである Process を使って、Pythonのスクリプトを実行し、その標準出力(コンソール出力…

C# WPF で BitmapImage (BitmapSource) のピクセルにアクセスし書き換える方法

C#

BitmapImage (BitmapSource) のピクセルにアクセスし書き換える方法 例として、コントラストを変える処理を紹介する。 BitmapSource ApplyContrast(BitmapSource image, double contrast) { if (contrast == 0) return image; var bitmap = new FormatConver…

C#でMicrosoft Translator Text APIを使う、2017年1月1日以降も有効な方法

C#

日本語のドキュメントを見つけたぜ、と思ったのだが、罠にかかった。 qiita.com コメントにも書いたが、この方法は2017年1月1日以降は有効ではない。コメント欄でも紹介されていたが、 Getting Started with Microsoft Translator に書かれているとおりに進…

WPFで各種コントロールを動的に配置し、配置したコントロールにアクセスする方法

C#

WPFで各種コントロールを動的に配置し、配置したコントロールにアクセスする方法。 stackoverflow.com 最上位の解答が役に立つ。分かってしまえば簡単ですね。 重要なところだけC#で下記に記す。 //コントロールの生成 var tbox = new TextBox(); //ここでは…

C# でWindows 上のプログラムのリソースを監視する

C#

C#で以下のリソースの監視をしたいという需要があったのでサンプルコードを公開する。 使用メモリ量 ハンドル数 GDI オブジェクト数 User オブジェクト数 using System; using System.Diagnostics; using System.Runtime.InteropServices; namespace Console…