vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 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
drucken auf DINA4 Hochformat an Position X, Y 
Autor: ERBRU
Datum: 06.10.21 21:15

ich möchte ein Seitenlayout erstellen und kriege das nicht do gebacken, brauche hier eure Unterstützung.

dies Thema: Bild drucken auf DINA4 Hochformat an Position X, Y hatte ich schon mal reingesetzt da ging es nur um ein Bild, was ich erreichen möchte habe ich als Skizze angehängt


würde mich über jeden Post freuen der mich da weiterbringt.

Skizze: so in etwa

https://abload.de/img/001jgjvd.png

wichtig ist auch noch mal die Image die ich aus einer PictureBox verwende wenn denn ein Bild gespeichert wurde
soll immer dem Rectangel angepasst werden also nicht wesentlich kleiner werden.

so mit meiner Lösung im Beitrag Bild drucken auf DINA4 Hochformat an Position X, Y verschiedene Bilder probiert
mal zu gross mal zu klein
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: drucken auf DINA4 Hochformat an Position X, Y 
Autor: ERBRU
Datum: 15.01.22 11:45

Danke die Funktion schau ich mir mal in einer Testumgebung an

Feedback folgt
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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