Moin,
nach ner Zeit beschäftige ich mich mal wieder mit VB, und bin ein wenig mit Graphics-Objekten am malen. Derzeit bin ich dabei, eine Funktion für Thumbnails zu schreiben. Klappt auch gut. (Bereits mit ein bisschen zutun aus dem Netz :P)
"imag" ist das Originalbild, maxwidth und maxheight Integer, die der Funktion mitgegeben werden. Am Ende bekomme ich das Originalbild mit Thumbnail oben rechts darüber. Ich will allerdings nur das Thumbnail an sich.
Ich stehe total auf dem Schlauch und so langsam nervt mich diese umständliche Programmierei in VB wenn es um grafische Sachen geht schon wirklich an.
mfg,
Lukas
Edit:
Lösung:
nach ner Zeit beschäftige ich mich mal wieder mit VB, und bin ein wenig mit Graphics-Objekten am malen. Derzeit bin ich dabei, eine Funktion für Thumbnails zu schreiben. Klappt auch gut. (Bereits mit ein bisschen zutun aus dem Netz :P)
VB.NET-Quellcode
- Dim this As Image = Image.FromFile(imag)
- Dim maxRatio As Integer = maxwidth / maxheight
- Dim imgWidth As Integer = this.Width
- Dim imgHeight As Integer = this.Height
- Dim imgRatio As Integer = imgWidth / imgHeight
- If imgWidth > maxwidth Or imgHeight > maxheight Then
- If imgRatio <= maxRatio Then
- ' Größenverhältnis des Bildes ist kleiner als die
- ' maximale Größe, in der das Bild angezeigt werden kann.
- ' In diesem Fall muss die Bildbreite angepasst werden.
- imgWidth = imgWidth / (imgHeight / maxheight)
- imgHeight = maxheight
- Else
- ' Größenverhältnis des Bildes ist größer als die
- ' maximale Größe, in der das Bild angezeigt werden kann.
- ' In diesem Fall muss die Bildhöhe angepasst werden.
- imgHeight = imgHeight / (imgWidth / maxwidth)
- imgWidth = maxwidth
- End If
- End If
- 'MsgBox(imgWidth.ToString & " " & imgHeight)
- Dim saveBitmap As New Bitmap(imgWidth, imgHeight) 'Hier könnte man jetzt das Originalbild hereinzeichen, das Bitmap hätte schon die passende Größe - bloß wie stelle ich das an?
- Using g As Graphics = Graphics.FromImage(this)
- g.CompositingMode = Drawing2D.CompositingMode.SourceCopy
- g.DrawImage(this, 0, 0, imgWidth, imgHeight)
- End Using
- this.Save("thumb.png")
"imag" ist das Originalbild, maxwidth und maxheight Integer, die der Funktion mitgegeben werden. Am Ende bekomme ich das Originalbild mit Thumbnail oben rechts darüber. Ich will allerdings nur das Thumbnail an sich.
Ich stehe total auf dem Schlauch und so langsam nervt mich diese umständliche Programmierei in VB wenn es um grafische Sachen geht schon wirklich an.
mfg,
Lukas
Edit:
Lösung:
„Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“
-Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
-Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lukas“ ()