VB2010にて、文字を上下鏡反転したいのですが、どなたか教えていただ
VB2010にて、文字を上下鏡反転したいのですが、どなたか教えていただけないでしょうか。
マトリックスでピクチャーボックスの左下を原点としてグラフ描画できましたが、
文字が逆さまになってしまいました。
ピクチャーボックスに、グラフィクスオブジェクトを使い
ビットマップイメージで描画して文字を上下反転しようと試みています。
以下のコードで、
Me.PictureBox1.Image.RotateFlip(RotateFlipType.RotateNoneFlipY)
の部分がエラーとなってしまいます。
どう修正すればよいか教えていただけませんでしょうか。
どうぞよろしくお願いいたします。
Dim myPen As New Pen(Color.Red, 1)
Dim myFont As New Font("MS UI Gothic", 20)
Dim myMatrix As New Matrix
'Dim g As Graphics = Me.PictureBox1.CreateGraphics
Dim Image2 As New Bitmap(Me.PictureBox1.Width, Me.PictureBox1.Height)
Dim pg As Graphics = Graphics.FromImage(Image2)
Dim px, py As Long
px = Me.PictureBox1.Width
py = Me.PictureBox1.Height
myMatrix.Scale(1, -1) '拡大縮小(y軸のみ正負の方向を逆にする)
myMatrix.Translate(0, -py) '平行移動(ピクチャーボックスの高さ分,下へ平行移動)
'g.Transform = myMatrix
pg.Transform = myMatrix
'g.DrawLine(myPen, 0, 0, 200, 200)
pg.DrawLine(myPen, 0, 0, 200, 200)
'g.DrawString("text", myFont, Brushes.Red, 100, 100)
pg.DrawString("text", myFont, Brushes.Red, 100, 100)
'"text"を上下反転する
'Me.PictureBox1.Image = Image.FromFile("C:\☆test.bmp")
Me.PictureBox1.Image.RotateFlip(RotateFlipType.RotateNoneFlipY)
Me.PictureBox1.Refresh()
お礼
解決できました。 ありがとうございました。
補足
ありがとうございました。うまくいきました。 この処理の後、線を追加作画(2回)したいのですが 下記ロジックで.Image = のところはどう定義したらいいでしょうか。 Private Sub Button1_Click ret = en(PictureBox1) End Sub Private Function en(ByVal o As PictureBox) Dim g As Graphics Dim p As New Pen(Color.Black, 1) With o .Image = New Bitmap(.Size.Width, .Size.Height) <--新規ならこれでいいと思うのですが g = Graphics.FromImage(.Image) End With For i = 1 To 9 x1,y1,x2,y2計算 g.DrawLine(p, x1, y1, x2, y2) Next i g.Dispose() p.Dispose() End Function