
HDRのために露出を変えた3枚をオートブラケットで撮影するが、三枚撮る間ずーっと
シャッターボタンを押したままにしなければならない。日中は、手持ちで撮影してきた
ので、これがあまり不便に感じられなかったが、夜景で長時間露出する場合、
1分近く押したままにし、かつ、三脚を使ってカメラのブレをその間なくすることは
至難の業であることに気づいた。
前回は、それもあって、さらに、もやがかかっていたので、成果はいまいちだった。
今回は、ペンタックス純正のケーブルスイッチ CS-205 を購入したので、
2月8日の夜に再トライした。

中央公園の池越しにエキスポセンターを望む、つくば市
[Sigma 17-70mmF2.8-4.5DCMacro]
[HDR]
ちなみに、昨年の9月27日の通常撮影の結果はこれ。

見比べると、HDRの効果の大きさがわかる。
つくばセンターに一昨年できたショッピングモール、Q't は、キュートと読む。



つくばセンター、つくば市
[Sigma 17-70mmF2.8-4.5DCMacro]
[HDR]
出雲大社(島根県)と諏訪大社(長野県)を結んだ直線の延長上の茨城県笠間市に、
平成4年に出雲大社の大国主大神を分霊して鎮座した。
長さ13m、重さ6トンの大注連縄が目に付く。
自宅から車で片道80分くらいかかった。




常陸国出雲大社、笠間市福原
[Sigma 17-70mmF2.8-4.5DCMacro]
[HDR]
前回から、ToneMapping をやり直した。あと、手動でアラインメントを調整した。


エキスポセンター@中央公園、つくば市
[Sigma 17-70mmF2.8-4.5DCMacro]
[HDR]
この夜はもやがかかっていて、ロケットを照らす照明の光跡が見える。
晴れた夜にもう一回チャレンジしてみよう。
前回では、カスタムフォーマットをつかってアルファ値を保ったままクリップボードを
介してやり取りすることができた。しかし、これでは従来のグラフィックアプリには
貼り付けられない。 アルファ値を犠牲にしても従来どおり貼り付けられ、かつ、
カスタムフォーマットを知っているアプリにはアルファ値を保ったまま、貼り付ける
ことができるようにしたい。
ここを参考にして、複数のフォーマットをつかってクリップボードにコピーしてみよう。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Drawing.Imaging; using System.Drawing.Drawing2D; namespace Clipboard32_2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private Bitmap MakeTestBitmap32(Color color) { Bitmap bmp = new Bitmap(200, 200, PixelFormat.Format32bppArgb); SolidBrush br = new SolidBrush(color); String st = "ふわっと"; Font ft = new Font("・ュ・ウ 譏取悃", 30, FontStyle.Bold); //ft.Style = FontStyle.Bold; Graphics g = Graphics.FromImage(bmp); g.SmoothingMode = SmoothingMode.AntiAlias; g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; g.FillEllipse(br, 10, 10, 180, 180); g.DrawString(st, ft, Brushes.White, 12f, 75f); g.Dispose(); ft.Dispose(); br.Dispose(); return bmp; } private void button1_Click(object sender, EventArgs e) { Bitmap bmp = MakeTestBitmap32(Color.Crimson); Graphics g = this.CreateGraphics(); g.DrawImage(bmp, 10, 10); g.Dispose(); DataObject data = new DataObject(); data.SetData(DataFormats.Bitmap, bmp); data.SetData("Bitmap32Format3", bmp); Clipboard.SetDataObject(data, true); bmp.Dispose(); } private void button2_Click(object sender, EventArgs e) { if (Clipboard.ContainsImage()) { Bitmap bmp = (Bitmap)Clipboard.GetImage(); Graphics g = this.CreateGraphics(); g.DrawImage(bmp, 10, 220); g.Dispose(); bmp.Dispose(); } if (Clipboard.ContainsData("Bitmap32Format3")) { Bitmap bmp = Clipboard.GetData("Bitmap32Format3") as Bitmap; Graphics g = this.CreateGraphics(); g.DrawImage(bmp, 220, 220); g.Dispose(); bmp.Dispose(); } } } }
このように、DataObject のインスタンスに複数のフォーマットを設定してセットしてから
クリップボードに SetDataObject() する。
結果は、

となり、ふつうに GetImage() では従来どおり、 カスタムフォーマットで GetData() ではアルファ値を
保ったままペーストできる。
PSPaint にも従来どおり貼り付けられる。
