それぞれに、VB2010での implementation を確認する。
1.設定パラメータの選択
nToday = Today() : nYear = Year(nToday) : nMonth = Month(nToday)
If nMonth = 12 Then
nMonth = 0 : nYear = nYear + 1
End If
nMonth = nMonth + 1 : nDate = 1 '翌月の1日にセット
nToday = DateValue(DateSerial(nYear, nMonth, nDate))
nToday = DateAdd(DateInterval.Hour, 21.0#, nToday)
DateTimePicker1.Value = nToday : DateTimePicker2.Value = nToday
' 解像度リストのセット
Dim i As Integer
For i = 1 To 8 : ListBox1.Items.Add(2 ^ (i + 4)) : Next i
ListBox1.SelectedIndex = 2
End Sub
2. 画像をJPEG形式で描いて、保存(たったの1行!!!)
PictureBOX を フォームに配置する( デフォルトで、PictureBox1 という名前になる)
PictureBox1.Image.Save(ファイル名, System.Drawing.Imaging.ImageFormat.Jpeg)
で、PictureBox1 にある画像を、JPEG形式で出力できる
−−−−−−−−−−−−−
2.5 画像をPictureBOX に描きこむ
PictureBOX にプロッター命令のような形で、画像を描きこむにはこうする
Dim g As Graphics ' グラフィックオブジェクトを用意、これが基本
Dim imObj As New Bitmap(1024, 1024) ' ビットマップを用意、ここでは 1024×1024 だけど、サイズは任意
PictureBox1.Image = imObj ' PictureBOX1 のビットマップのサイズを確定
g = Graphics.FromImage(PictureBox1.Image) ’Graphic の場所を PictureBox1 に設定
g.Clear(Color.Blue) ' このへんが、プロッタ命令にあたるぶぶん
g.DrawEllipse(Pens.BlanchedAlmond, flrect) ' このへんが、プロッタ命令にあたるぶぶん
3.星と、星座線、天の川、星名、星座名のデータを、ファイルから取り込む
ファイルからデータを入力するのは・・・
Private Sub ReadData(ByRef rd As Rectangle, ByVal g As Graphics)
Dim str As New System.IO.StreamReader("C:\test.csv", System.Text.Encoding.Default)
Dim strline As String
Dim strtemp() As String
Dim s As Rectangle
strline = str.ReadLine()
While (Len(strline) > 3)
strtemp = Split(strline, ",")
With rd
.X = Val(strtemp(0)) * 1000
.Y = Val(strtemp(1)) * 1000
.Width = Val(strtemp(2)) * 10
.Height = Val(strtemp(2)) * 10
End With
With s
.X = Rnd() * 1000
.Y = Rnd() * 1000
.Width = 10 + Rnd() * 3
.Height = .Width
End With
g.FillEllipse(Brushes.Black, s)
g.FillEllipse(Brushes.White, rd)
strline = str.ReadLine()
End While
str.Close()