Picturebox von links nach rechst zuschneiden

  • VB.NET

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

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Picturebox von links nach rechst zuschneiden

    Hallo,
    ich habe zuerst meine PictureBox mit einer Trackbar verknüpft. Sodass die PictureBox breiter oder schmaler wird wenn sich der jeweilige Wert der Trackbar ändert.
    Nun wird aber das Bild von rechts nach links breiter oder kürzer, sprich die PictureBox wird am rechten Ende verkürzt. Ich möchte es jedoch anders herum haben. Die rechte Seite soll sich nicht bewegen, stattdessen soll die Picturebox von links nach rechts gekürzt werden.

    Danke im vorraus

    Die Bilder 1 und 2 sind variabel in ihrer Größe. Weiterhin ist das Bild 3 immer ca in der mitte von Bild 1. Wenn beide Regler auf maximal gestellt sind berührt Bild 2 Bild 3. Nun wird der Regler von Bild 2 verschoben und das Bild wird kleiner, weiterhin verschiebt sich Bild 3 auch so das es weiterhin ca in der Mitter unterhalb von Bild 1 liegt. Bild 2 verschiebt sich ebenfalls so mit das es an Bild 3 anliegt. Nun möchte ich aber auch das sich die breite von Bild variabel einstellen lässt mittels Messschieber und dabei zu jedem Zeitpunkt an Bild 3 anliegt.
    1. Dein Text ist unvollständig und somit unverständlich:

    niko1365 schrieb:

    Nun möchte ich aber auch das sich die breite von Bild variabel einstellen lässt

    Was willst Du wowiewannwarum?
    2. Ein Wort sagt mehr als 1000 Bilder: Mal doch einfach mal: Anfangsbild, und in der Situation in der es nicht mehr passt: Istbild, Sollbild
    3. Nutze bitte die [Erweiterte Antwort] und lad da Deine Bilder hoch. Es ist im Forum nicht gern gesehen, auf externe Bildhoster zu verweisen.
    ― Eine häufig von mir verwendete Abkürzung: CEs = control elements (Labels, Buttons, DGVs, ...)
    ― Meine wichtigste Programmiererkenntnis: Mühsam erhängt sich das Eichhörnchen.
    ― If Not GrammarIsOk() Then AssumeThatCodeIsOk = False
    ― »Oh, großes Spaghetticodemonster. Bitte schicke mir Durchblick! Oder zumindest eine Gabel. Oder – wenn es kein Besteck mehr gibt – zumindest Glasnudeln.«
    Tut mir leid wusste nicht genau wie ich die Bilder hochladen kann.
    Die ersten beiden Bilder passen. Bei dem dritten Bild gibt es einen Abstand zwischen den zwei kleineren Bildern.
    Diesen möchte ich gern entferne, das egal wie ich den unteren Messschieber skalieren die Bilder immer aneinander hängen.
    Bilder
    • Unbenannt11.JPG

      51,02 kB, 981×710, 10 mal angesehen
    • Unbenannt12.JPG

      30,97 kB, 922×611, 11 mal angesehen
    • Unbenannt13.JPG

      30,15 kB, 955×649, 11 mal angesehen
    Ok, ich benenn einfach mal die Bilder, dann wird es (noch) leichter: Graubox (das große), Rotbox (unten links), Schwarzbox (unten rechts). Da ich nicht erkennen kann, was das überhaupt darstellen soll, belass ich es mal dabei.

    Welche der folgenden Punkte stimmen und welche nicht:
    1. Graubox soll mit dem oberen Messschieber (MS) breitenvariable sein. Wenn man den MS verändert, verändert sich die Breite von Graubox. Die Position bleibt, nur der rechte Rahmen ändert sich.
    2. Schwarzbox soll vertikal direkt an Graubox anschließen, aber immer soll gelten: Schwarzboxmitte = Grauboxmitte
    3. Schwarzbox bleibt in ihrer Größe immer gleich.
    4. Rotbox kann abhängig vom linken MS Position und Breite ändern. (Das entnehme ich Bild Unbenannt11 und Unbenannt13)
    5. Rotbox und Schwarzbox sollen keinen horizontalen Abstand zueinander haben.

    (Eh, Moment. Ich glaub ich wurde damit zum Ghostwriter 8| )
    ― Eine häufig von mir verwendete Abkürzung: CEs = control elements (Labels, Buttons, DGVs, ...)
    ― Meine wichtigste Programmiererkenntnis: Mühsam erhängt sich das Eichhörnchen.
    ― If Not GrammarIsOk() Then AssumeThatCodeIsOk = False
    ― »Oh, großes Spaghetticodemonster. Bitte schicke mir Durchblick! Oder zumindest eine Gabel. Oder – wenn es kein Besteck mehr gibt – zumindest Glasnudeln.«
    Die Bilder in den Boxen sind egal, bleiben wir bei deinen Benennungen, damit wir uns besser verstehen.
    Deine Punkte sind alle richtig außer Punkt 4. Die Rotbox kann abhängig vom linken MS in der Breite geändert werden. Dabei soll wie in Punkt 5 kein Horrinzontaler Abstand zwischen Rotbox und Schwarzbox vorhanden sein. Wie in den Bildern Unbennant11 und Unbenannt12.

    Danke im Vorraus ^^
    Ok. Welche Punkte konntest Du schon erfolgreich in Code pressen? Die Abarbeitung wäre doch folgendermaßen denkbar:
    1. Grauboxposition.X = FesterWert
    2. Grauboxbreite = WertVonOberemMS
    3. Schwarzboxposition.X = Grauboxposition.X + Grauboxbreite / 2 - Schwarzboxbreite / 2
    4. Rotboxbreite = WertVonLinkemMS
    5. Rotboxposition.X = SchwarzboxPosition.X - Rotboxbreite
    ― Eine häufig von mir verwendete Abkürzung: CEs = control elements (Labels, Buttons, DGVs, ...)
    ― Meine wichtigste Programmiererkenntnis: Mühsam erhängt sich das Eichhörnchen.
    ― If Not GrammarIsOk() Then AssumeThatCodeIsOk = False
    ― »Oh, großes Spaghetticodemonster. Bitte schicke mir Durchblick! Oder zumindest eine Gabel. Oder – wenn es kein Besteck mehr gibt – zumindest Glasnudeln.«

    niko1365 schrieb:

    habe es geschafft
    Würdest Du uns auch noch Deine Lösung vorstellen, denn gewiss bist Du nicht der Letzte, der dieses Problem hat.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!