ドナドナされるプログラマのメモ

Windows用アプリのプログラミングメモ

2020-01-01から1年間の記事一覧

mozjpegをつかった画像変換ソフトの開発 その5

どういうふうにスレッドの制御をするか考え中。今回のソフトは、タスクごとにスレッドを作ってしまうという富豪方針である。ということは、リソースに見合った数のスレッドが常に走っているようにスレッドを生成し続ければよい。これを実現するには、ワーカ…

mozjpegをつかった画像変換ソフトの開発 その4

どのようにマルチスレッド化するかを考え中。 考えられる方針は大きく2つ。 ファイルを1個開くたびに1スレッド作り、1変換をするたびに1スレッドを作り、1個書き出すたびに1スレッド作る。ブルジョワ方針。 物理メディアごとに1スレッド作り、当該メディアで…

LibPNGの速度比較(32bit, 64bit)

libPNGについて、win32とx64で速度が違うのか調べてみた。 ■使用環境 OS: Windows10 64bit バージョン1909 CPU:Ryzen 7 3700X 3.6GHz メモリ: PC10700 (1088MHz) ■計測方法 libPNGのRUN_TESTS所要時間を3回計測する。ビルドはいずれもRelease。 ■計測結果 wi…

mozjpegをつかった画像変換ソフトの開発 その3

画像ファイルのロード、変換、保存をする部分の構造はどうしようかなあ。最近のPCはCPUのコア数が多いので、できればマルチスレッド対応としたい。その場合、どういうプログラム構成とすればいいのだろう? データ処理の流れはシンプルだ。 二次記憶からデー…

ツールチップに複数行の文字を表示させる

CToolTipCtrlのAddTool()を使ってツールチップを表示させようとしたときに、文字列が長い場合は指定した位置で改行したくなる・・よね?でも、テキストに\nを加えても改行してくれず、ちょっと苦労したのでメモ。 CToolTipCtrlを使って複数行にわたるテキス…

MFCを使う場合の多言語化

MFCを使う場合の多言語化メモ。以下の英語版より抜粋。 docs.microsoft.com マイクロソフトによると、言語ごとのリソースはリソース専用DLLに格納すればいいらしい。そうすると、以下の順番でリソースの読み込みにチャレンジしてくれる。 GetUserDefaultUILa…

mozjpegをつかった画像変換ソフトの開発 その2

cjpegで設定可能なオプションは色々あるが、互いに排他的なものも結構ある。しかし、どれがそうなのかは明示されていない。そこでcjpeg.cを読んで整理してみた。Groupに番号が振ってあるものは、同じ番号内で相互に影響を及ぼすもの。 Option variables Grou…

mozjpegをつかった画像変換ソフトの開発 その1

mozjpegを使ったwindows用の画像変換ソフトで、以下を満たすものを探したが見つからなかった。 Windows用 GUI 複数の画像ファイルを一括変換 入力ファイルはJPEG, PNG, GIF, BMP マルチスレッドにより複数同時圧縮 無いなら作ればいいじゃん、ということで開…

mozjpegのwindows用ビルドにチャレンジ

mozjpegのwindows用ビルドにチャレンジしてみた。 mozjpegはmozillaが開発している、libjpegおよびlibjpeg-turbo互換のJPEG画像処理ライブラリ。圧縮率と画質の両立を目指して開発されている。 github.com ちょっと手元にある大量のpngファイルを纏めてjpeg…

枕木の自動配置 2

枕木の自動配置だけど、上下方向にレールを曲げる場合はレールの中心と枕木の中心がずれているせいで工夫が必要になってしまうのか。ということは、対策は以下のいずれかかなあ。 中心を一致させる ずれの分補正する ずれを考慮した計算にする さて、どれが…

枕木の自動配置

背景 スクリプトの仕様 概略仕様 詳細仕様 RailroadTiePosition 覚えたことのメモ 背景 嫌なことに気づいてしまった。勾配ごとに枕木の本数が決まっているということは、曲線レールや直線レールも勾配ごとに枕木の本数が違うということか。直線なら3パターン…

30kg 10mレールメモ

30kg 10mのレールモデルを作ろうと思ったが、枕木本数の情報などがない。仕方ないので、20mのデータから任意長さのレールについて枕木本数と枕木間隔を求めるスプレッドシートを作った。 枕木本数の計算 枕木本数は、レール長さに比例すると仮定した。なお、…

枕木位置および角度の計算

カーブレールを作るには、2つの方法がある。 SketchUp!の拡張機能であるFredoScaleのRadial Bendingをつかって枕木やレールごと曲げてしまう レールを上記ツールで曲げて、枕木等は個別に再配置 これまでは1.の方法で手抜きして作っていたが、20mレールにな…

レールモデルの再構築

30kg 直線レールのモデルを25mから20mに変更中。変更ついでに、ポリゴン数を削減した。このレールモデル、犬釘までモデリングされてるんだけど犬釘の頭を正12角形で作っていたりしてた。それを、6角形に変更。犬釘の根っこも12角形だったけど、4角形に変更。…

レールの長さと枕木間隔

レールの長さ 稲田 隆著 『鐵道工学 上・下巻(総合工学全集2・土木工学科、13巻の7)』( http://library.jsce.or.jp/Image_DB/s_book/jsce100/htm/061.htm )を見直していたら、30kgfレールの標準長さ(定尺)は20mという記述があった。まずい・・・他と同…