2017年3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

最近のトラックバック

無料ブログはココログ

« 2016年11月20日 | トップページ | 2016年12月24日 »

2016年11月24日 (木)

OuDia 1.02.03 を公開しました

OuDia.1.02.03 を公開しました。2年3ヶ月ぶりのバージョンアップとなりました。
変更内容は、以下の通りです。

1.Windows10で、時刻表ビューの縦書き表示が正しく表示されない問題を修正

2.時刻表ビューの罫線の描画を修正

3. OuDiaのホームページ のURLを変更

1. と 2. は、このブログの 「Windows10では、時刻表ビューの縦書き表示が正しく表示されない問題」 と、「時刻表ビューをPDFファイルへ出力すると、そのPDFでは時刻表の罫線が見えない」 問題を解消したものです。
3.は、マニュアル・ヘルプの修正箇所です。 OuDiaのホームページが移転した ため、修正が必要になりました。

時刻表ビューをPDFファイルへ出力すると、そのPDFでは時刻表の罫線が見えない-2

「PDF出力の場合だけ時刻表の罫線が見えなくなる」という問題の原因を思いつくまでには、時間がかかりました。
原因は、「アプリケーションソフトから長方形を描画したとき、出力先がPDFだと、他の出力先(ディスプレーやプリンター)に比べて、長方形のサイズが大きくなる」ということでした。(ここでの『出力先』は、Windows GDI を指します)。

時刻表ビューをはじめとした「グリッド形式ビュー」は、以下の順序で描画を行っています。

1.グリッドの罫線を描画する
2.各セルに、背景色で長方形を描画する
3.セル内のテキストを描画する

出力先がPDFの場合、2.の処理において描画する長方形が大きく、罫線に乗り上げてしまいます。このため、罫線が覆われて見えなくなってしまうのです。

oudia_1.01.02_pdf

この問題の解決策は、以下のように描画の順番を変えることしか思いつきませんでした。

1.各セルに、背景色で長方形を描画する
2.セル内のテキストを描画する
3.グリッドの罫線を描画する

しかし、これは、結合セルがある場合に、少々面倒な処理が必要になりました。今までは、罫線の後にセルの背景やテキストを描画していたため、結合セルの上を通る罫線は、結合セルの背景色に塗りつぶされて見えなくなっていました。しかし、罫線をセルの後に描画するとなると、結合セルの上に罫線が重なってしまいます。

このため、罫線を描画する処理に、結合セルを避けて線を引くような仕組みを追加しました。

こうして何とか、PDFへの時刻表ビューの出力を改善することができました。

oudia_1.01.03_pdf

« 2016年11月20日 | トップページ | 2016年12月24日 »