C#

TWAINの処理シーケンス。

TWAINを使ってスキャナを操作するWPFアプリを作っていて、情報源の少なさにかなり苦労した。1週間ほど格闘した中でわかったのは、TWAINはStateによって実行できるコマンドが変わることだ。ここかなり重要だった。 twain.org ここから参照できる仕様書(PDF)で…

BackgroundWorkerでBitmapSourceを扱うときの注意点。

このオブジェクトは別のスレッドに所有されているため、呼び出しスレッドはこのオブジェクトにアクセスできません。 BackgroundWorker.RunWorkerAsyncの引数にList<BitmapSource>型のリストを渡して、BackgroundWorker.OnDoWorkなどでBitmapSourceを取り出して処理を行う場</bitmapsource>…

RazorEngineでHTMLメールとテキストメールのテンプレートを作成する。

RazorEngineを使ったメールテンプレート作成方法。antaris.github.ioテンプレートに埋め込むモデルを定義する。 namespace MailApp.Models.Mail { public class Template { public string Name { get; set; } } } テンプレートファイルを指定して、その中身…