tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
1901
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von meste
    meste meste ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    173
    Hallo!

    Ich mal fragen ob jemand weis wie man ein Bild verkleinern kann in dem die Propoertionen beibehällt. So, das wenn der Benutzer die Child-Form vergrößert, das die Sieten verhälltnisse vom Bild beibehalten werden. Wenn die MDI Child-Form bsp. auf 700x200 skaliert wird, soll das Bild einer größe von ca. 266x200 haben. Der rest auf den Seiten soll halt die Hintergrundfarbe von der Form haben.

    ich hoffe ich konnte es halbweg erklären und wäre sehr dankbar für eure hilfe.


    m.e.s.t.e
     
    Gottes Wort ist mein Schwert und sein Urteil wird meine Rache sein!

  2. #2
    Registriert seit
    Mar 2004
    Beiträge
    441
    Also wenn du die reine Mathematik meinst, dann habe ich hier ein Code Snippet. Ist zwar nicht C# sondern Delphi .net, aber das Prinzip sollte daraus durchaus ersichtlich werden. Die Kommentare habe ich zum besseren Verständnis hier eingefügt, um nicht den gesamten precedure-Header posten zu müssen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    // l_Percent: Double mit dem Skalierungsfaktor (z.B. 0.5)
    // p_Percent: Integer mit Prozentsatz des Skalierungsfaktors (z.B. 50)
    // l_Image: Lokales Bitmapobjekt
    // Image.Picture.Bitmap: Bitmapobjekt, das im Formular abgelegt ist und das Bild anzeigt.
    // l_Rect: Lokale TRect-Struktur
     
    l_Percent := p_Percent / 100;   
    l_Image := TBitmap.Create;
    l_Image.Height := Round(Image.Picture.Bitmap.Height * l_Percent);
    l_Image.Width := Round( l_Image.Height * Round(Image.Picture.Bitmap.Width / Image.Picture.Bitmap.Height));
    l_Rect.Top := 0;
    l_Rect.Left := 0;
    l_Rect.Right := l_Image.Width - 1;
    l_Rect.Bottom := l_Image.Height -1;
    l_Image.Canvas.StretchDraw(l_Rect, Image.Picture.Bitmap);
     
    // Danach bitte nicht vergessen, die Bilddaten von l_Image nach Image.Picture.Bitmap zu
    // transferieren und l_Image wieder freizugeben.
     

  3. #3
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    Ich würde vorschlagen, du legst das Bild in eine PictureBox, bei der du die Anchor entsprechend setzt. Den SizeMode setzt du auf StretchImage. Beim Verändern der Größe des Parents ändert sich auch die Größe der PictureBox und somit auch die das Images
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  4. #4
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Anchor ist eine schlechte Variante, da hierbei die Proportion nicht erhalten bleibt. Einfach die Größenänderung der Form merken (Events: Resize, ResizeBegin, ResizeEnd) und danach aufgrund der getätigten Änderung, deine PictureBox (Image sollte im Mode StretchImage drinnen liegen) in der Größe anpassen.
     

  5. #5
    Avatar von meste
    meste meste ist offline Mitglied Gold
    Registriert seit
    Dec 2003
    Beiträge
    173
    Hy!

    Danke euch für die schnelle Antwort. Werde mich mal an die Sache ran machen.
     
    Gottes Wort ist mein Schwert und sein Urteil wird meine Rache sein!

  6. #6
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Konntest du eine Lösung finden?
     

Ähnliche Themen

  1. Objekt proportional skalieren
    Von pixelpur im Forum CSS
    Antworten: 5
    Letzter Beitrag: 08.01.10, 12:02
  2. Swing-Komponenten proportional skalieren?
    Von Frezl im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 5
    Letzter Beitrag: 12.07.09, 18:01
  3. Ein Bild skalieren
    Von thekiller im Forum PHP
    Antworten: 1
    Letzter Beitrag: 30.07.07, 22:19
  4. Bild aus Datenbank proportional verkleinern
    Von Lovesdale im Forum PHP
    Antworten: 5
    Letzter Beitrag: 16.12.05, 14:05
  5. bild skalieren
    Von tomaso im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 01.03.04, 09:24