Visual Basic 中学校 掲示板 投稿内容
タグのない投稿を抽出 統計 RSS

Visual Basic 中学校 > 投稿一覧 >

画像の合成

タグの編集...

投稿者 菊夜月   (高校生)   投稿日時 2016/7/29 11:04:47
朝早くからすみません。質問です。
自分は今おこづかい帳の表紙を作っていまして表紙の画像が枠にはまるように作成しているのですが、なぜか枠にはまりません。その理由がわからないので、どなたか教えてくれませんか?一応、下にプログラムを載せます。
Public Class Form1
    Dim Hgazou1 As Image = Image.FromFile("表紙.png")
    Dim HE1 As Image = Image.FromFile("画像追加.png")
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ' グラフィック用オブジェクトを生成
        Dim gr As Graphics = PictureBox1.CreateGraphics()
        ' 画像指定
        Dim BackgroundImg As Image = New Bitmap(HE1) ' 背景画像
        Dim CharacterImg As Image = New Bitmap("Z:\部活\ぷにっち\廃棄画像集\廃棄画像集\だめなのです.jpg") ' キャラクター画像
        PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
        PictureBox1.Image = Image.FromFile("Z:\部活\ぷにっち\廃棄画像集\廃棄画像集\だめなのです.jpg")
        ' 透明色指定(白を指定)
        Dim ImgAttr As System.Drawing.Imaging.ImageAttributes = New System.Drawing.Imaging.ImageAttributes()
        ImgAttr.SetColorKey(Color.White, Color.White) ' 白から白までの範囲を指定
        ' キャラクター位置指定
        Dim CharaPosition As New Point() ' キャラクター位置
        CharaPosition.X = 0
        CharaPosition.Y = 0
        ' 背景画像の描画
        gr.DrawImage(BackgroundImg, New Rectangle(New Point(0, 0), PictureBox1.Size))
        ' キャラクター画像の描画
        gr.DrawImage(CharacterImg, New Rectangle(CharaPosition, CharacterImg.Size), 0, 0, CharacterImg.Width, CharacterImg.Height, GraphicsUnit.Pixel, ImgAttr)
    End Sub
End Class

投稿者 魔界の仮面弁士   (社会人)   投稿日時 2016/8/12 00:43:26
高DPI設定のディスプレイを利用していませんか?

もしそうなら、dpiAware を指定してみてください。
https://blogs.msdn.microsoft.com/ttanaka/2014/08/22/dpihigh-dpi-3-12503/

> 一応、下にプログラムを載せます。
Bitmap の Dispose 処理が漏れていますよ。