| 【】Top
 
 【】VB.NET
 【】VB6.0
 
 【】メールマガジンの購読
 【】メールマガジンの解除
 
 
 
 
 
 
 【】会社概要
 
 【】お問い合わせ
 
 
 姉妹サイト「バーチャルコネクション!」はこちらです。
 
 姉妹サイト「七福神のメールでビンゴ!」はこちらです。
 
 
   
 ●24時間365日の安心をあなたにAT-LINK専用サーバ・サービスお勧めのサーバです。
 
 
 | 
 
               
                |  |  |  |   
                |  | 
   
 
   
    | 
  
        http://anetm.com/dev/d.cgi?SC=DTDTL&o=OV7 
        
  
                 
               
                 
                  | 画像を拡大・縮小して保存する |   
                  | 
 |   
                  | 【注意書き】 ●VB.NET を使っているものとします。
 ●動作環境は、Windows XX を使用しているとします。
 
 
 .NET でも、画像を拡大・縮小して保存することが可能です。
 
 この機能を使えば、簡単に、アプリケーション側で
 指定する画像の大きさで統一管理したい場合などに活用できます。
 
 
 フォームに次の様なコードを記述します
 
 
 -----------VB.NETコーディングここから-------------------
 
 
 1.フォームに、ボタンコントロールとピクチャボックスコントロール
 を配置します。
 下記は、デフォルトのオブジェクトの名前と配置を示しています。
 
 ┏━━━━┓┏━━━━┓┏━━━━┓
 ┃Button1 ┃┃Button2 ┃┃Button3 ┃
 ┗━━━━┛┗━━━━┛┗━━━━┛
 
 ┏━━━━━━━━━━━━┓
 ┃PictureBox1             ┃
 ┃                        ┃
 ┃                        ┃
 ┗━━━━━━━━━━━━┛
 
 2.ボタンコントロールの
 Button1 text プロパティに「拡大」と記述します。
 Button2 text プロパティに「縮小」と記述します。
 Button3 text プロパティに「保存」と記述します。
 
 ※説明用のためです。必須ではありません。
 
 ┏━━━━┓┏━━━━┓┏━━━━┓
 ┃拡大    ┃┃縮小    ┃┃保存    ┃
 ┗━━━━┛┗━━━━┛┗━━━━┛
 
 ┏━━━━━━━━━━━━┓
 ┃PictureBox1             ┃
 ┃                        ┃
 ┃                        ┃
 ┗━━━━━━━━━━━━┛
 
 
 
 3.フォームをダブルクリックして、
 フォームロードイベントのコード編集を開始して、
 次のコードを記述します。
 
 
 Dim MjstrPicPath As String
 
 
 Private Sub Form1_Load(ByVal sender As System.Object, _
 ByVal e As System.EventArgs) Handles MyBase.Load
 PictureBox1.AllowDrop = True
 PictureBox1.Top = 0
 PictureBox1.Left = 0
 PictureBox1.Width = Me.Width
 PictureBox1.Height = Me.Height
 
 End Sub
 
 Private Sub PictureBox1_DragEnter(ByVal sender As Object, _
 ByVal e As System.Windows.Forms.DragEventArgs) _
 Handles PictureBox1.DragEnter
 '関連連づけの確認をしています。
 'この場合、ドラッグアンドドロップの形式であるかどうか?
 If e.Data.GetDataPresent(DataFormats.FileDrop) Then
 
 'ドロップ効果を取得
 e.Effect = DragDropEffects.Copy
 Else
 'ドロップ効果を破棄
 e.Effect = DragDropEffects.None
 End If
 
 End Sub
 
 Private Sub PictureBox1_DragDrop(ByVal sender As Object, _
 ByVal e As System.Windows.Forms.DragEventArgs) _
 Handles PictureBox1.DragDrop
 
 MjstrPicPath = e.Data.GetData(DataFormats.FileDrop)(0)
 
 
 If Dir(MjstrPicPath) <> "" Then
 PictureBox1.Image = Image.FromFile(MjstrPicPath)
 PictureBox1.SetBounds(0, 0, _
 PictureBox1.Image.Size.Width + 2, _
 PictureBox1.Image.Size.Height + 30)
 
 Me.Width = PictureBox1.Image.Size.Width + 2
 Me.Height = PictureBox1.Image.Size.Height + 30
 End If
 
 End Sub
 
 Private Sub Button1_Click(ByVal sender As System.Object, _
 ByVal e As System.EventArgs) Handles Button1.Click
 '拡大
 Dim objBtm As Bitmap
 Dim lngW As Long
 Dim lngH As Long
 objBtm = New Bitmap(PictureBox1.Image)
 lngW = objBtm.Width * 2
 lngH = objBtm.Height * 2
 
 Dim objBtm2 As New Bitmap(objBtm, lngW, lngH)
 
 PictureBox1.Image = objBtm2
 
 PictureBox1.SetBounds(0, 0, _
 PictureBox1.Image.Size.Width + 2, _
 PictureBox1.Image.Size.Height + 30)
 
 Me.Width = PictureBox1.Image.Size.Width + 2
 Me.Height = PictureBox1.Image.Size.Height + 30
 
 End Sub
 
 Private Sub Button2_Click(ByVal sender As System.Object, _
 ByVal e As System.EventArgs) Handles Button2.Click
 '縮小
 
 Dim objBtm As Bitmap
 Dim lngW As Long
 Dim lngH As Long
 objBtm = New Bitmap(PictureBox1.Image)
 lngW = objBtm.Width * 0.5
 lngH = objBtm.Height * 0.5
 
 Dim objBtm2 As New Bitmap(objBtm, lngW, lngH)
 
 PictureBox1.Image = objBtm2
 
 PictureBox1.SetBounds(0, 0, _
 PictureBox1.Image.Size.Width + 2, _
 PictureBox1.Image.Size.Height + 30)
 
 Me.Width = PictureBox1.Image.Size.Width + 2
 Me.Height = PictureBox1.Image.Size.Height + 30
 
 End Sub
 
 Private Sub Button3_Click(ByVal sender As System.Object, _
 ByVal e As System.EventArgs) Handles Button3.Click
 '保存
 
 Dim strImageFileName As String
 'ファイル名を指定しています
 strImageFileName = "test.jpg"
 'jpeg形式で保存します
 PictureBox1.Image.Save _
 (strImageFileName, Imaging.ImageFormat.Jpeg)
 
 End Sub
 
 4.ビルドして実行します。
 
 5.フォームに適当な画像ファイルをドラッグアンドドロップで
 ドロップします。
 
 6.フォームに表示された
 ピクチャボックスに、ドラッグアンドドロップした
 画面全体のイメージが表示されます。
 
 7.フォームに表示された「拡大」ボタンを押します。
 
 8.フォームに表示された
 ピクチャボックス画面全体のイメージが
 2倍の大きさに拡大されます。
 
 9.フォームに表示された「保存」ボタンを押します。
 
 10. test.jpg というファイル名で拡大された画像が
 jpeg形式で保存される事を確認できます。
 
 
 
 -----------VB.NETコーディングここまで-------------------
 
 本サンプルでは、エクスプローラ等から、ファイルのドラッグアンドドロップ
 の操作で画像ファイルのパスを受け取っています。
 
 そのパスをもとに、画像をピクチャボックスへ表示するようにしています。
 
 また、画像の拡大は、2倍。画像の縮小は1/2倍となるようにしています。
 
 
 保存する場合のファイル名は、
 strImageFileName = "test.jpg" で
 「test.jpg」に固定しています。
 
 画像保存形式は、
 Imaging.ImageFormat.Jpeg で
 jpeg 形式で保存するように指定しています。
 
 
 |  
  
             
   
 Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。  |  |  |   
                |  |  |  |  |