Bereiche von Bildern kopieren

  • VB.NET
  • .NET 4.0

SSL ist deaktiviert! Aktivieren Sie SSL für diese Sitzung, um eine sichere Verbindung herzustellen.

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Bereiche von Bildern kopieren

    Ich will Bereiche von Bildern kopieren und hab das geschrieben

    VB.NET-Quellcode

    1. ''' <summary>
    2. Public Function GetImageArea(ByVal source As Bitmap, ByVal start As Point, ByVal areasize As Size) As Image
    3. Dim readyImage As New Bitmap(areasize.Width, areasize.Height)
    4. For x = start.X To start.X + areasize.Width - 1
    5. For y = start.Y To start.Y + areasize.Height - 1
    6. readyImage.SetPixel(x, y, source.GetPixel(x, y))
    7. Next
    8. Next
    9. Return readyImage
    10. End Function

    wenn ich es so aufrufe funktioniert es auch:

    VB.NET-Quellcode

    1. PictureBox2.Image = GetImageArea(New Bitmap(PictureBox1.Image), New Point(0, 0), New Size(8, 8))

    so aber nicht:

    VB.NET-Quellcode

    1. ​PictureBox2.Image = GetImageArea(New Bitmap(PictureBox1.Image), New Point(4, 4), New Size(12, 12))


    wieso nicht? was ist da falsch?
    <mylife name="U2FsdGVkX19mRcr5GLMghG+tQNzbqDuQyOYa5uDbkoc=">
    </mylife>
    try to find out my name :)
    ich krieg den fehler:
    ​Der Parameter muss positiv und kleiner als die Breite sein. Parametername: x
    an welcher position soll ich das x-start.x machen? in der funktion oder im aufruf und wo?
    <mylife name="U2FsdGVkX19mRcr5GLMghG+tQNzbqDuQyOYa5uDbkoc=">
    </mylife>
    try to find out my name :)
    Das mit Get und Set Pixel ist ziemlicher bescheiden..

    Probiers mal so, ist jetzt aus dem Kopf:

    VB.NET-Quellcode

    1. ​Private Function CopyImageArea(source As Bitmap, affectedRectangle As Rectangle) As Bitmap
    2. Dim bmp = New Bitmap(affectedRectangle.Width, affectedRectangle.Height)
    3. Dim g = Graphics.FromImage(bmp)
    4. g.DrawImage(source, New Rectangle(0, 0, bmp.Width, bmp.Height), affectedRectangle, GraphicsUnit.Pixel)
    5. g.Dispose()
    6. Return bmp
    7. End Function