Forums Neueste Beiträge
 

Falsche Bildgroesse beim Einfügen in New Bitmap

26/06/2008 - 11:51 von Georg Weisse | Report spam
Hi Zusammen,

ich beiße mir gerade mal wieder die Zàhne aus...
Ich habe ein Bild (TIFF), 260 X 260 groß, von dem ich letztendlich (das ist
in der Routine unten aber nicht drin) unten etwas abschneiden will.
Ich habe aber irgendwie ein Skalierungsproblem.
Verwende ich untenstehenden Code, wird das Bild zwar geladen, kopiert und
gespeichert, der Inhalt ist dann aber größer geworden (Faktor ca. 1,35) und
passt dann nicht mehr komplett ins Image.

Lade ich testweise aPic in eine Picturebox, passt es.
bPic ist aber dummerweise größer, auch schon vor dem Save.

Was vergesse ich da oder was mache ich noch falsch?

Private Sub Test()
Dim aPic As New Bitmap("C:\Temp\Ausgangsbild.tif")
Dim bPic As New Bitmap(aPic.Height, aPic.Width)
Dim g As Graphics = Graphics.FromImage(bPic)
g.DrawImageUnscaled(aPic, New Point(0, 0))
bPic.Save("C:\Temp\Endbild.tif", _
System.Drawing.Imaging.ImageFormat.Tiff)
End Sub

Ich hoffe, dass Ihr mal wieder eine gute Idee für mich habt und
wünsche Euch einen schönen Tag.

Ciao,
Georg
 

Lesen sie die antworten

#1 Joachim Fuchs
26/06/2008 - 12:06 | Warnen spam
Hallo Georg,

g.DrawImageUnscaled(aPic, New Point(0, 0))



diese Funktion (und auch g.DrawImage(img, point)) ist sehr missverstàndlich
beschrieben. Haben die Bilder unterschiedliche Auflösungen (z. B. 72 Pixel
pro Zoll und 96 Pixel pro Zoll), dann wird sehr wohl umgerechnet und es
ergeben sich unterschiedliche Bildgrößen.

Verwende daher nur die Überladungen, bei denen Du Quell- und Zielrechteck
spezifizieren musst, in Verbindung mit dem Format "Pixel".

Gruß
Joachim

Dr. Joachim Fuchs - Autor - Dozent - Softwarearchitekt
MCT - MCAD
http://www.fuechse-online.de/beruflich/index.html -
http://vbnet.codebooks.de

Ähnliche fragen