Wenn zwei Bilder mit identischer Größe überlagert werden, wird eines versetzt

Ich versuche, ein Bild zu erstellen, indem ich es übereinander lege. Der Code funktioniert, aber das Bild, das ich überlagere, scheint leicht gedehnt zu sein, und ich kann nicht herausfinden, warum.

So erstellt der Code nur ein leeres rotes 24x24-Rechteck, dann überlagere ich eine 24x24-PNG-Datei, die so aussieht:

as ich erwarte, ist das:

Aber ich bekomme das tatsächlich:

Using backGround As New Bitmap(24, 24, Imaging.PixelFormat.Format32bppArgb)
        Using g = Graphics.FromImage(backGround)
            Using brush1 As New SolidBrush(Color.Red)
                g.FillRectangle(brush1, 0, 0, 24, 24)
                Using topimage = Image.FromFile("C:\Scratch\ManNoRecords24.png")
                    g.DrawImage(topimage, New Point(0, 0))
                End Using
            End Using
        End Using
        backGround.Save("C:\Scratch\Emp.png", Imaging.ImageFormat.Png)
    End Using

Debugger zeigt die Eigenschaften von topImage an:

Antworten auf die Frage(2)

Ihre Antwort auf die Frage