vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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
Bild in 8 Teile teilen und in 8 Pictureboxen ausgeben 
Autor: Myers
Datum: 11.06.09 11:54

Hätte jemand mal bitte ein Quelltext womit ich ein Bild in 8 Teile zu schneiden und anschließend in 8 Pictureboxen ausgeben kann?d.h. das jede Picturebox ein Teil das Gesammtbildes anzeigt.


danke schon mal für eure Hilfe

mfg Myers
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 8 Teile teilen und in 8 Pictureboxen ausgeben 
Autor: Bastian
Datum: 11.06.09 12:22

hi
das wäre bei einem 400x200 pixel grossem bild z.B wie folgt möglich

        Dim img As Image = Image.FromFile("C:\test.jpg")
 
        Dim bmp As Bitmap
        Dim g As Graphics
 
        bmp = New Bitmap(100, 100)
        g = Graphics.FromImage(bmp)
        g.DrawImage(img, New RectangleF(0, 0, 100, 100), New RectangleF(0, 0, _
          100, 100), GraphicsUnit.Pixel)
        PictureBox1.Image = bmp
 
        bmp = New Bitmap(100, 100)
        g = Graphics.FromImage(bmp)
        g.DrawImage(img, New RectangleF(0, 0, 100, 100), New RectangleF(100, 0, _
          100, 100), GraphicsUnit.Pixel)
        PictureBox2.Image = bmp
 
        bmp = New Bitmap(100, 100)
        g = Graphics.FromImage(bmp)
        g.DrawImage(img, New RectangleF(0, 0, 100, 100), New RectangleF(200, 0, _
          100, 100), GraphicsUnit.Pixel)
        PictureBox3.Image = bmp
 
        bmp = New Bitmap(100, 100)
        g = Graphics.FromImage(bmp)
        g.DrawImage(img, New RectangleF(0, 0, 100, 100), New RectangleF(300, 0, _
          100, 100), GraphicsUnit.Pixel)
        PictureBox4.Image = bmp
 
        bmp = New Bitmap(100, 100)
        g = Graphics.FromImage(bmp)
        g.DrawImage(img, New RectangleF(0, 0, 100, 100), New RectangleF(0, 100, _
          100, 100), GraphicsUnit.Pixel)
        PictureBox5.Image = bmp
 
        bmp = New Bitmap(100, 100)
        g = Graphics.FromImage(bmp)
        g.DrawImage(img, New RectangleF(0, 0, 100, 100), New RectangleF(100, _
          100, 100, 100), GraphicsUnit.Pixel)
        PictureBox6.Image = bmp
 
        bmp = New Bitmap(100, 100)
        g = Graphics.FromImage(bmp)
        g.DrawImage(img, New RectangleF(0, 0, 100, 100), New RectangleF(200, _
          100, 100, 100), GraphicsUnit.Pixel)
        PictureBox7.Image = bmp
 
        bmp = New Bitmap(100, 100)
        g = Graphics.FromImage(bmp)
        g.DrawImage(img, New RectangleF(0, 0, 100, 100), New RectangleF(300, _
          100, 100, 100), GraphicsUnit.Pixel)
        PictureBox8.Image = bmp
das geht aber mit sicherheit auch etwas kürzer ...

mfg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 8 Teile teilen und in 8 Pictureboxen ausgeben 
Autor: Myers
Datum: 11.06.09 12:38

würde der Quelltext sich groß ändern wenn es für ein 1024x768 großes Bild sein sollte? ;) und für 16 Pictureboxen?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 8 Teile teilen und in 8 Pictureboxen ausgeben 
Autor: Myers
Datum: 11.06.09 12:49

ah habe Quelltext verstanden x) passe es gerade an. Danke ;)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 8 Teile teilen und in 8 Pictureboxen ausgeben 
Autor: Bastian
Datum: 11.06.09 13:23

oder man macht es gleich etwas dynamischer

        Dim img As Image = Image.FromFile("C:\test.jpg")
        Dim sSize As New Size(img.Width / 4, img.Height / 4)
        Dim bmp(15) As Bitmap
        Dim g As Graphics
 
        For i As Integer = 0 To 15
            bmp(i) = New Bitmap(256, 192)
            g = Graphics.FromImage(bmp(i))
            If i <= 3 Then
                g.DrawImage(img, New RectangleF(0, 0, sSize.Width, _
                  sSize.Height), _
                                 New RectangleF(i * sSize.Width, 0, _
                                 sSize.Width, sSize.Height), GraphicsUnit.Pixel)
            ElseIf i <= 7 Then
                g.DrawImage(img, New RectangleF(0, 0, sSize.Width, _
                  sSize.Height), _
                                 New RectangleF((i - 4) * sSize.Width, 1 * _
                                 sSize.Height, sSize.Width, sSize.Height), _
                                 GraphicsUnit.Pixel)
            ElseIf i <= 11 Then
                g.DrawImage(img, New RectangleF(0, 0, sSize.Width, _
                  sSize.Height), _
                                 New RectangleF((i - 8) * sSize.Width, 2 * _
                                 sSize.Height, sSize.Width, sSize.Height), _
                                 GraphicsUnit.Pixel)
            ElseIf i <= 15 Then
                g.DrawImage(img, New RectangleF(0, 0, sSize.Width, _
                  sSize.Height), _
                                 New RectangleF((i - 12) * sSize.Width, 3 * _
                                 sSize.Height, sSize.Width, sSize.Height), _
                                 GraphicsUnit.Pixel)
            End If
            CType(Me.Controls("PictureBox" & i + 1), PictureBox).Image = bmp(i)
        Next
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bild in 8 Teile teilen und in 8 Pictureboxen ausgeben 
Autor: Bastian
Datum: 11.06.09 13:37

die zeile
bmp(i) = New Bitmap(256, 192)
muss noch durch
bmp(i) = New Bitmap(sSize.Width, sSize.Height)
ersetzt werden
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