| |

 | In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.
Hinweis: Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden! | Fragen zu Tipps & Tricks und Workshops im vb@rchivRe: Bild skalieren (VB.NET) | |  | Autor: Guenterp66 | Datum: 30.07.10 08:37 |
| Sry, es fehlt die zeile:
DestinationRectangle = New Rectangle(0, 0, imgWidth, imgHeight)
Hier nochmal der richtige Code:
Public Shared Function AutoSizeImage(ByVal oBitmap As Image, ByVal _
DestinationRectangle As Rectangle) As Image
Dim maxWidth As Integer = DestinationRectangle.Width
Dim maxHeight As Integer = DestinationRectangle.Height
' Größenverhältnis der max. Dimension
Dim maxRatio As Single = CSng(maxWidth / maxHeight)
' Bildgröße und aktuelles Größenverhältnis
Dim imgWidth As Integer = oBitmap.Width
Dim imgHeight As Integer = oBitmap.Height
Dim imgRatio As Single = CSng(imgWidth / imgHeight)
' Bild anpassen?
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 = CInt(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 = CInt(imgHeight / (imgWidth / maxWidth))
imgWidth = maxWidth
End If
' Bitmap-Objekt in der neuen Größe erstellen
Dim oImage As New Bitmap(imgWidth, imgHeight)
Dim g As System.Drawing.Graphics = _
System.Drawing.Graphics.FromImage(oImage)
DestinationRectangle = New Rectangle(0, 0, imgWidth, imgHeight)
g.DrawImage(oBitmap, DestinationRectangle, New Rectangle(0, 0, _
oBitmap.Width, oBitmap.Height), GraphicsUnit.Pixel)
' neues Bitmap zurückgeben
Return oImage
Else
' unverändertes Originalbild zurückgeben
Return oBitmap
End If
End Function |  |
 | Sie sind nicht angemeldet! Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|