| タイトル | : Re^4: どなたか… |  
| 記事No | : 10992 |  
| 投稿日 | : 2012/12/13(Thu) 23:02 |  
| 投稿者 | : VBレスキュー(花ちゃん)  |  
 最初の時にリンク先の説明でやり方を書いていたはずですが。 それと文字等の描画方法等は、基本的な事ですからここのサンプルやネット上のサンプルを 試して自分の物にしないと今後も他人にコードを書いてもらう事になりますよ。
  PictureBox1 と Chart1 は同じサイズにして下記コードを試して見て下さい。 (動作確認用なのでコードは簡略にしていますので、理屈が呑み込めたら目的に合わせて 書き直して下さい)
  Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click         Dim dt As New DataTable         '列の作成         With dt.Columns             .Add("日付", GetType(String))             .Add("指数", GetType(Integer))         End With         'データの追加         dt.Rows.Add("12/01", 40)         dt.Rows.Add("12/02", 60)         dt.Rows.Add("12/03", 30)         '初期化             Chart1.Series.Clear()         'グラフの種類,系列,軸の設定         Dim rosoku = Chart1.Series.Add("棒グラフ")         With rosoku             .ChartType = DataVisualization.Charting.SeriesChartType.Column             .XValueMember = "日付"             .YValueMembers = "指数"         End With         Chart1.DataSource = dt         Chart1.DataBind() '------------------------------- ここまでは貴方のコードを使用 ------------------------------ Chart1.Visible = False
     'グラフをBitmapとして取得してPictureBox1上に表示     Dim bmp As New Bitmap(Chart1.Width, Chart1.Height)    Chart1.DrawToBitmap(bmp, New Rectangle(0, 0, Chart1.Width, Chart1.Height))    With PictureBox1       .SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage       .Image = bmp    End With    Using g As Graphics = Graphics.FromImage(PictureBox1.Image)        Dim f As New Font("MS Pゴシック", 11)         g.DrawString("ABCDEFG", f, Brushes.Blue, 0, 0)    End Using    Clipboard.SetDataObject(PictureBox1.Image, True) End Sub
 
  又は、ここのサンプルを利用して、貴方が書いたコード風にすると
  '-------------------------- ここまでは貴方のコードを使用 ------------------------------ Chart1.Visible = False
     Using memStream As New System.IO.MemoryStream()       '一旦 Stream オブジェクトに保存       Chart1.SaveImage(memStream, System.Drawing.Imaging.ImageFormat.Bmp)       Dim bmp As New Bitmap(memStream)       With PictureBox1          .SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage          .Image = bmp       End With
        Using g As Graphics = Graphics.FromImage(PictureBox1.Image)           Dim f As New Font("MS Pゴシック", 11)            g.DrawString("ABCDEFG", f, Brushes.Blue, 0, 0)       End Using
     End Using
     If Not PictureBox1.Image Is Nothing Then       'データをシステム クリップボードに貼り付け       Clipboard.SetDataObject(PictureBox1.Image, True)    End If
  でも同様の結果となります。 どこが、どう貴方のコードと違うのかを理解して下さい。 
 
 |