プライバシーポリシーとサポート情報 - ほそ道まっぷ2025年11月06日 12:00

本アプリについて (About this app)

紀行文に記された地名を一覧から選択し、地理院地図とGoogle Mapで地形や史跡を確認しながら、読書を支援するアプリです。地形を合わせ見ることで、山あいを旅したのか、川沿いに進んだのか、荒野を縦断したのか、など、旅の風景が見えてきます。

2025年11月更新
十六夜日記を追加しました。

2020年4月更新
東関紀行と海道記を追加しました。

※アプリのページ

プライバシーポリシー (Privacy statement)

ほそ道まっぷ
対象アプリ;ほそ道まっぷ

本アプリの製作者である The Fourteenth Lab (第十四工房) は、本アプリによって、お客様の個人情報およびプライバシーに関する情報を収集しません。

サポート情報 (Support)

ご質問や不具合のご連絡は、このページの「コメント欄」をご利用いただくか、「このブログについて」に記載の連絡先までお願いします。

あらかじめのおことわり (FAQ)

1) 地名を選択するタイミングによって、地図サイトの読込がうまくいかないことがあります。その場合は、地図の上にある「更新」ボタンで再読込してください。

2) 取り上げた地名は、主に本文や注釈で参照されている場所です。注釈で示されている場所には、場所違いと思われる箇所もありますが、そのまま取り上げています。

3) 一般的な地名は、通常、駅に代表させています。最寄り駅がない場合は、市役所などを充てています。ただし、駅は、かつての街道沿いから離れている場合も多いので、地図を広めに見て、街道筋や宿場町の見当をつけてみてください。

4) 表示位置の緯度経度は、地図を参照しながら、手作業で設定したものです。だいたいの位置を示していると理解してください。また、同じ地名でも、当時とは別の場所になっていることや、名前が同じだけで関係ない場所もあると思います。アプリ開発者の推測を含みます。その点は、ご容赦ください。

5) 地図表示は、緯度、経度、縮尺をURLに設定して、アプリ組み込みのブラウザで指定して表示しています。表示された地図の加工や、埋め込まれたスクリプトの呼び出しなどはしていません。

利用するツールや文献 (Reference)

1) 国土地理院地図
2) 芭蕉 奥のほそ道 付 曾良旅日記 奥細道菅菰抄 (萩原恭男校注)、岩波文庫
3) 東関紀行・海道記(玉井幸助校訂)、岩波文庫
4) 新訳 十六夜日記(島内景二著)、花鳥社

プライバシーポリシーとサポート情報 - 画像微調整2025年06月10日 20:30

本アプリについて (About this app)

※2025年3月の時点で、ストア管理者から掲載停止されました。

このアプリは、写真やイラストなどの画像について、サイズ変更、回転、鏡像変換、切り抜き、任意の4点からなる四辺形からの長方形への変形、明度と彩度の調整、選択した矩形のモザイク化など、ブログ記事作成などで必要となる簡易な画像調整機能を提供します。

※2017年11月更新

※アプリのページ

プライバシーポリシー (Privacy statement)

画像微調整
対象アプリ;画像微調整

本アプリの製作者である The Fourteenth Lab (第十四工房) は、本アプリによって、お客様の個人情報およびプライバシーに関する情報を収集しません。

サポート情報 (Support)

ご質問や不具合のご連絡は、このページの「コメント欄」をご利用いただくか、「このブログについて」に記載の連絡先までお願いします。

使い方 (Usage)

【ファイルを開く】
起動直後は、空の画面が表示されます。左側に機能を示すアイコンメニューを表示します。最初は、「フォルダ」のアイコンを選んで画像ファイルを読み込みます。なお、エクスプローラー上で画像ファイルを選び、右クリックで表示されるメニューから起動することもできます。

※対応する画像ファイルは、JPEG(.jpg, .jpeg)、JPEG-XR(.jxr)、PNG(.png)、GIF(.gif)、BMP(.bmp)です。最大サイズは、5120x5120(2500万画素相当)、または、7168x7168(5000万画素相当)です。

【フォルダ内巡回】
画像ファイルを読み込んだ後は、「次の画像」「前の画像」のアイコンを選んで、同じフォルダ内の画像を読み込むこともできます。

【保存】
調整を行った画像は、「フロッピー」アイコンを選んで保存します。

【ズーム】
画像の表示倍率は、「ルーペ」アイコンを選んで調整できます。調整幅は、1/16~4倍の間です。刻みは、1/16です。

画像を開く際に表示倍率を自動調整するかどうか、「設定」で設定できます。自動調整に設定すると、サイズ変更や切り取りの場合も追随します。

表示倍率の変更

【設定】
パラメータの調整は、「設定」アイコンを選んで行います。画像の最大サイズ、範囲指定で表示される矩形の色、画像変換のアルゴリズム、保存時の標準の形式、画像を開いた際の表示倍率自動調整、SSE等を利用する数値計算方法の選択、です。

設定項目

画像の調整には、以下の機能があります。

【サイズ変更】
画像の縦横のサイズを変更するには、「縦横サイズの変更」アイコンを選びます。直接サイズを指定するほかに、記録しておいた設定を読み込んで適用することもできます。また、縦か横の一方を設定し、他方は、元の縦横比から計算して設定することができます。

画像サイズの変更

【回転】
画像を回転するには、「回転」アイコンを選びます。90度単位で指定します。

画像の回転

【鏡像】
画像を左右、上下に反転するには、「鏡像変換」のアイコンを選びます。

画像の鏡像

【四辺形変形】
書類などを写真で撮ったときに台形状になったものを補正するときは、「四辺形変形」のアイコンを選びます。
画像の4点を選んで四辺形を作ると、その四辺形が長方形になるように変形します。

画像の四辺形変形

画像の四辺形変形

【切り抜き(クロップ)】
画像の一部を切り出すには、「切り抜き」のアイコンを選びます。直接サイズを指定するほかに、マウスなどのポインタで四隅を選んで範囲を指定します。「縦横比から計算」ボタンを押すと、縦横比を維持するように調整します。

画像の一部の切り抜き

【明るさや色の冴え方の調整】
画像の明るさや、色の冴え方を調整するには、「明度と彩度の調整」アイコンを選択します。「統計量の収集」ボタンを押すと、現状の分布を計算します。
数値を上下するときは、変化量を選んだ後、+-のボタンを押します。
分布の幅を縮めるには、変化率を選んだ後、「圧縮」のボタンを押します。

明度、彩度の調整

※明度、彩度の数値は、PCCS(日本色研配色体系)の値に準拠します。詳細は、「トーンと色の見本帳」アプリの他、市販の参考書等で確認してください。

※分布グラフの描画には時間がかかるので、標準では手動にしています。「グラフ描画」のボタンを押して、グラフを更新してください。

【モザイク化】
画像の一部をぼかして、写真の人物などを隠すには、「モザイク化」のアイコンを選びます。マウスなどのポインタで範囲を指定します。

モザイク化

あらかじめのおことわり (FAQ)

1)画像は、内部的には、24bitのBGRA8形式で管理しています。

2)画像変換のアルゴリズムには、4種ありますが、「四辺形変形」では、「直近の点」と「近傍の2x2の点の加重平均」のみを実装しています。他の2種を選んでも、「近傍の2x2の点の加重平均」を適用します。

3)画像変換のうち、「サイズ変更」「回転」「鏡像変換」は、Windows.Graphics.Imagingのライブラリの機能を用いています。

4)明度彩度の調整は、画像のサイズを小さくしてから実行することを薦めます。デジタルカメラから取りだしたままの大きなサイズでは、かなりの時間がかかります。

5)明度彩度の調整では、色を管理する数値がオーバーフローまたはアンダーフローすることがあります。そのため、「+」操作を行った後、「-」操作をおこなっても、同じ色に戻るとは限らないので注意してください。その逆の操作でも同様です。色がおかしくなったときは、「元に戻す」ボタンを押して、最初からやり直してください。

利用するツールや文献 (Reference)

1)グラフの表示には、WinRT XAML Toolkitを用いています。

2)Range Selectorは、UWP Community Toolkitを用いています。

プライバシーポリシーとサポート情報 - お散歩コンパス2024年06月06日 19:00

本アプリについて (About this app)

2024年6月 公開停止

MS Store管理者から地図表示不可の報告を受け、公開を停止しました。Windows Mobileの廃止により、役目を終えていると判断し、修正は行いません。
なお、アプリ搭載のWebView機能と地図サイトの間の互換性が失われたためと思われます。

2016年8月更新

本アプリは、散歩などに持ち歩くコンパスと傾斜計の機能を提供します。インターネットが利用できる環境では、今いる位置を中心に国土地理院地図を開くことができます。また、適宜、現在位置を記録することで、簡易ですが、経路を表示できます。

それぞれの機能の利用可否は、機器に搭載されるセンサの有無に依存します。すべての機能を利用するには、電子コンパス、傾斜計、GPS、および、インターネット接続が必要です。

現在位置の表示には、位置情報を使用します。使用を許可するには、Windowsの「設定」→「プライバシー」→「位置情報」の設定が必要です。

プライバシーポリシー (Privacy statement)

お散歩コンパス
対象アプリ:お散歩コンパス

本アプリの製作者である The Fourteenth Lab (第十四工房) は、本アプリによって、お客様の個人情報およびプライバシーに関する情報を収集しません。

サポート情報 (Support)

ご質問や不具合のご連絡は、このページの「コメント欄」をご利用いただくか、「このブログについて」に記載の連絡先までお願いします。

あらかじめのおことわり (FAQ)

1)コンパスの北は、赤い針の方向です。方位は、電子コンパスとGPSから求められますが、本アプリは、電子コンパスの値を採用しています。試験用の機材と、手持ちのコンパス(デジタルでないもの、SUUNTOのA-30)と比べると、5~10度ほど差が見られます。また、電子コンパスは周囲の磁場に反応しやすいようです。

2)針のまわりの円の半径を、地図の右下に表示します。標準で500mですが、ズームイン、ズームアウトにより変わります。

3)針のまわりの円の上を回るのは太陽です。電子コンパスが機能しない場合でも、太陽の位置からおおよその方角がわかるようにとの趣旨です。大まかな近似計算で、日の出と日の入の時刻を求め、表示色を変えていますが、精度は高くありません。参考程度に願います。

4)電子コンパスや傾斜計のデバイスの存否をチェックしていますが、デスクトップPCでは、ダミーのデバイスがあるため、計測値が得られない場合があります。

5)地図表示は、緯度と経度をURLに埋め込んで、国土地理院地図を呼び出して表示しています。表示に際して、国土地理院地図には加工を施していません。なお、ウェブサイトの仕様の変更により、表示できなくなる可能性があります。

※国土地理院地図のウェブサイト

ズームイン「+」、ズームアウト「-」のボタンにより、縮尺を変更できます。それぞれ2段階です。地理院のタイル仕様のズームレベルでいうと、13~17(標準は15)の間です。

6)地図表示の縮尺などは、ウェブサイトのボタン等でも変更できますが、本アプリの表示は、変更内容と連動しません。「地図」ボタンを押すと、アプリの設定に戻ります。

7)メニューから「位置情報の表示」を選択することで、地図上にこれまで記録した経路を表示できますが、緯度、経度、距離の計算方法は、本アプリと地図では異なるため、正確には一致しません。あくまで、参考表示程度とご理解ください。

8)地図表示は、移動しても自動では追尾しません。「地図」ボタンを押して、適宜、更新してください。バックグラウンドでのバッテリ消費を控えたいとの趣旨です。

9)緯度と経度、およびその差分からの距離の計算は、「理科年表 平成27年版」、「地学部」の地球楕円体に関する計算式(定数は、測地基準系1980の値)をもとにしています。

10)記録した位置は、ファイルに書き出すことができます。カンマ区切り形式のテキストファイルです。各行の項目は、順に以下の通りです。
・記録順
・日付
・時刻
・緯度
・経度
・高度
・前回記録からの経度方向の距離m
・前回記録からの緯度方向の距離m
・前回記録からの直線距離m
・前回記録からの方位(北が0度、時計回り)

Azure DevOpsのプロジェクトでVSTSからGitへの切替2022年06月23日 18:15

VisualStudioを用いた開発において、Azure DevOpsでソース管理をするとき、最近はGitを標準で勧めてくる。そこで、これまでVSTS(Visual Studio Team Foundation Services)で管理してきたソリューションについて、Gitへの切替を試みる。

Create New Project

最初に、Azure DevOpsでバージョン管理をGitに設定した空のプロジェクトを作成する。

初期設定

ユーザ名とパスワードを保存し、リポジトリの場所を記録する。

プラグインの選択

VisualStudioを起動し、切替対象のソリューションを開く。オプションの「ソース管理」で、ソース管理プラグインを「Git」に設定する。

Gitグローバル設定

Gitグローバル設定を確認。ここでは、既定の場所を変更している。

リポジトリの設定全般

Gitリポジトリ設定の「全般」を確認。

リポジトリの設定リモート

Gitリポジトリ設定の「リモート」で、先にAzure DevOpsで記録したリポジトリの場所を転記する。

Gitリポジトリの作成

ローカルにGitのリポジトリを作成。先に、Azure DevOpsでプロジェクトを作成しているので、「既存のリモート」を選択して、「リモートURL」を設定。

Git変更

これで「Git変更」のパネルから、ローカルのソースのPushができるか、確認。

ソース管理プラグインはソリューション単位の設定であり、別のVSTSを用いているソリューションを開けば、これまで通り、VSTSのソース管理が動作する。VisualStudioの共通の設定として保存されるわけではない。

切替によりGitならではの制御が可能になるが、VSTSで不都合を感じてなければ敢えて移行する必要はない感じ。なお、Gitに切替てもAzure DevOpsのBoardsなどのサービス類は変わらず利用できる。新規作成なので空からのスタートになるけど。

push

ひとついいことがあった。
Gitに切り替えておくと、ローカルで運用しているGitHub互換のリポジトリに複写ができるようになる。remoteのリポジトリをAzure DevOpsとは別にローカル用に登録し、TortoiseGitなどのクライアントツールでPush時に選択すれば、複写を生成できる。VSTSの場合、「.git」のGit環境フォルダがあると、ソース管理プラグインをGitと認識するので、複数のリポジトリを選択して運用することができない。これを回避できる。

Vector (.NET, C#) で条件分岐2022年01月06日 16:06

C#プログラムにおいて、多量のデータ処理(画像処理)に .NET の Vector で高速化を試みる。MSの文書は簡潔なもので、理解のためには試行錯誤が必要。

元のコード

画像の一点毎に処理する元のコード。BGRAのデータからPCCSの色相(Hue)の値を計算する。

equals

行199のEqualsを処理したところ。Vectorに詰めた _Rvec と _cMax の値を比較している。元のコードでは、行120に当たる部分。

下のデバッグ画面の rEQcmax の値を見ると、最初の4つが -1 になっている。値が一致し、TRUE と判断すると、0以外の値(この場合、-1)に設定される。

なお、Vectorの要素は、デバッグ画面では8個分あるが、実際は4で動作している。

ConditionalSelect

行203のConditionalSelectを処理したところ。先に値を設定した rEQcmax の内容に応じて、2つのVectorのいずれかの値を設定する。第2引数がTRUE、第3引数がFALSEの場合の設定値。元のコードでは、行122に当たる部分。

ここでは、rEQcmax の4つの要素がいずれもTRUEなので、hue1 (第2引数)の値が設定されている。

ConditionalSelect

行209のConditionalSelectを処理したところ。ここまでに3つのConditionalSelectを処理した。これは、元のコードの if / else if / else に当たるもの。最初の条件に合致すると hue1、次の条件に合致すると hue2a、どちらにも合致しないと hue3a の値が設定されるように、組み合わせる。

ちょっとしたパズルの要領。

UWPでMonoGame - 仮想環境ではうまく動かず2021年05月13日 18:48

リリースに向け、ネイティブにコンパイルし、テスト用の環境で動作確認を行うと、画面生成が妙に遅くなったり、止まったままになったりする。XAMLのページから、MonoGameのページに遷移するところ、または、その逆のあたりが怪しい。

別の環境、新しく作り直した環境、仮想環境でない実機、で試してみるが、問題なく動く環境とそうでない環境がある。当たっているKBの違いかと、これも試してみるが、不発。

仮想ハードのCPU設定

このタイミングに依存するような不安定さは、やはり、ハードウェア周りかと、仮想環境のCPU周りを見直すと、「ハードウェアアシストによる仮想化をゲストOSで公開」の項が怪しい。これにチェックを入れると、少し動作が安定する。また、コア数が2よりも4の環境の方が安定する。

仮想環境は、開発に便利だが、ハードウェアに近い操作を行うDirectXなどのアプリでは、落とし穴があると言うことか。リリース版をBuildしてはじめて気がつくので、なかなか厄介。

HubSectionのDataTemplate定義内のRadioButtonやComboBoxの初期設定2021年04月19日 16:27


Hubで構築した設定画面

Hubで構築した設定パネル。設定のHubSectionにおいて、RadioButtonで設定を指定する。HubSectionは、DataTemplateで定義するので、x:Nameで指定した名前を使っては、RadioButtonなどの初期設定を行えない。

そのため、Bindを用いて、コードの値を反映させるのだが、XAMLの初期化時に、初期値(デフォルトの値)でもってCheckedのイベントが発生し、Bindすべき変数の値を、別の値で上書きしてしまう。RadioButtonのほか、ComboBoxなども同様。

ここは、Checkedのイベントの発生を、本来設定したい値をBindしてからにしたいところ。

XAML定義

巷の記事では、XAMLのTreeをたどって初期設定する力業なども紹介されているが、個々のコントロールのLoadedイベントを受けての処理で対処できそう(L.111)。

イベントハンドラ

RadioButtonのLoadedイベントを受けるコードで、IsCheckedを設定して、roamingSettingsなどから読み取った値を初期値として設定(L.200)。その後、Checkedのイベントが発生するが、先ほど設定した初期値でのイベントなので、別の値で上書きされない。

UWPでMonoGame - 日本語表示でSurrogate Pairに苦戦2021年04月13日 16:14

MonoGameで日本語を表示する方法は、あちこちに記事がある。

FontProcessor

MGCB EditorでSpriteFont定義に設定するProcessorをDLLとして作成。漢字やかなの入ったテキストファイルから一文字ずつ取り出し、FontDescriptionに登録。,NET Core 3.1のDLLのプロジェクトで作成したもので登録成功。

SpriteFont生成

常用漢字について実施したもの。左の"Processor"欄で、作成したProcessorを登録する。規格が合っていないと候補に出てこない。実行には、そこそこ時間を要す。

Surrogate Pair生成失敗

それではと、難読漢字の入ったテキストファイルを取り込んでみると、エラー。
Surrogate Pair (2バイトのコード2つで一文字を表現)
をバラバラに登録しないでね、Char配列で渡してね、と。

ところが、FontDescriptionに登録できるのは、Char型のみ。MonoGameのForumなどを覗いても、影響が大きいので対応は難しそう、とのこと。

LoadContent

それではと、先のForumでも触れられていた、FontStashSharp(SpriteFontPlus)を試してみる。コメントアウト済みだが、L.190あたり。LoadContent()では、フォントファイルを登録。

DynamicSpriteFont

Draw()では、DynamicSpriteFontを定義して、描画(L.566-567)。Surrogate Pairは試さなかったが、日本語表示は問題なくできる。

問題は、配布Packageにフォントファイルを同梱しなければいけないこと。IPAフォントのライセンスを読むと可能ではあるが、サイズも大きくなるし、どうしよう。UWPでなく、WPFにすれば、システムフォントを読み込めるかも。そもそも、今まで使ってきたUDデジタル教科書体を使いたい。

Win2DでTexture2D生成

結局、実行時に、Win2DでCanvasDeviceに日本語文字を書き込み(L.164)、Stream経由でTexture2Dを生成(L.182)することで対処。PutText()は縦書き表示のためのもの。

MGCB Editorで事前生成するわけではないので、実行時、それなりに時間を要する。ゲーム実行時のスコア表示などには向かないが、ゲーム開始前に作っておけば済むものなら使える。