PictureBox nicht deutlich genug!

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Cheffboss.

    PictureBox nicht deutlich genug!

    Moin! :)
    Wenn ich eine Bilddatei in eine PictureBox1 laden möchte,
    ist diese auf „Strech“, dann wir diese sehr verzogen.
    (Siehe Bild)
    Wenn ich die Einstellung auf „Zoom“ ändere, sehe ich das komplette Bild, und zwar ohne Verzehrung.
    Aber leider ist dann der Rand, immer weiß, und das stört mich sehr!
    Gibt es eine Möglichkeit die Bilder per „Strech“ fehlerfrei anzuzeigen?
    Ich hoffe ich könnte das Problem gut beschreiben.
    BIG THX

    Visual Basic.NET 8o
    MS-SQL
    8o
    Sehe da jetzt keinen Fehler das ist ja so gewollt.
    Bei Stretch wird das Bild auf die Dimensionen deiner Picturebox gezogen.
    Bei Zoom wird soweit rausgezoomt das dass komplette Bild ohne verzerrung sichtbar ist.

    Ich weiß nicht ob man die Randfarben ändern kann aber da wird dir Google bestimmt eine Hilfe sein oder hier jemand.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    edit2:
    Ich habe nun einen kleinen Code geschrieben.
    So werden die Bilder angezeigt.
    Aber leider ist dieser Code noch nicht gut genug.
    Wenn die Bilder sehr groß sind oder sehr klein werden diese angezeigt.
    Leider, fällt mir gerade keine Mathematische Formel ein.
    Geteilt durch 5, habe ich verwendet.
    Welcher Wert wäre sinnvoller?
    Macht mein Code überhaupt sinn?

    VB.NET-Quellcode

    1. Me.Width = Me.imgBildVorschau.Image.Width / 5
    2. Me.Height = Me.imgBildVorschau.Image.Height / 5



    edit3:
    @Morrison
    Der Tipp mit der BackColor Farbe war sehr gut!
    Ich habe nun noch ein kleines Problem,
    wenn der User auf das Bild klickt,
    öffnet sich eine neue Form.
    Auf dieser befindet sich eine PictureBox1.
    Mit meinen geteilt durch „5 Code“, wird das Bild als „Strech ‘Richtig angezeigt.
    Aber den Wert geteilt durch 5 habe ich per Zufall verwendet, ohne einen Sinn dahinter.
    Ist dieser Wert Arbeit tauglich?
    Oder welcher beruht auf einer sinnvollen Mathematischen Formel.
    Freue mich auf eure Hilfe!
    Bilder
    • hund.jpg

      100,88 kB, 414×764, 111 mal angesehen
    Visual Basic.NET 8o
    MS-SQL
    8o

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Cheffboss“ ()

    Cheffboss schrieb:

    Macht mein Code überhaupt sinn?
    Gewiss nicht im Paint-Event.
    Nimm da Form_Shown oder ein Button_Click-Event.
    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).
    Programmierfragen über PN / Konversation werden ignoriert!

    Cheffboss schrieb:

    Aber macht das / Geteilt durch 5
    Keine Ahnung.
    Gib die Größe der Form im Designer vor und lass das weg.
    Gib der PictureBox per .Dock oder .Anchor die richtige Position und Größe zur Form.
    Mit der Property .Zoom wird das richtig dargestellt.
    Feddich.
    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).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich denke das "/ 5" ist eig. nicht sehr sinnvoll!
    Das mag mit diesem Bild jetzt vllt. hinkommen und passen aber wenn Du hochauflösende Bilder hast kann die Form schnell mal übergroß werden..
    ..ich würde sonst alle reinkommenden Bilder auf eine Standardgröße bringen damit die Form auch immer die gleiche Größe hat..z.B. mit:

    VB.NET-Quellcode

    1. ​ PictureBox1.Image = New Bitmap(New Bitmap("*DATEIPFAD*"), 800, 600)