vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: drucken auf DINA4 Hochformat an Position X, Y 
Autor: Bazi
Datum: 14.01.22 20:50

schau dir mal die AutoSizeImage an. Habe ich glaube ich auch hier im Forum gefunden.
    Public Function AutoSizeImage(ByVal oBitmap As Image, _
ByVal maxWidth As Integer, _
ByVal maxHeight As Integer, _
Optional ByVal bStretch As Boolean = False) As Image
        GC.Collect()
        Try
            ' 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) Or (bStretch) 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)
 
                ' Bild interpolieren, damit die Qualität erhalten bleibt
                Using g As Graphics = Graphics.FromImage(oImage)
                    g.InterpolationMode = _
                      Drawing2D.InterpolationMode.HighQualityBicubic
                    g.DrawImage(oBitmap, New Rectangle(0, 0, imgWidth, _
                    imgHeight))
                End Using
 
                ' neues Bitmap zurückgeben
                Return oImage
            Else
                ' unverändertes Originalbild zurückgeben
                Return oBitmap
            End If
        Catch ex As Exception
            DebugToFile(ex.Message)
            Return Nothing
        End Try
 
    End Function
Evtl. hilft dir das weiter.
Gruß Christian
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
drucken auf DINA4 Hochformat an Position X, Y629ERBRU06.10.21 21:15
Re: drucken auf DINA4 Hochformat an Position X, Y483Bazi14.01.22 20:50
Re: drucken auf DINA4 Hochformat an Position X, Y352ERBRU15.01.22 11:45

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 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