ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
1901
1901
EMPFEHLEN
-
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.eGottes Wort ist mein Schwert und sein Urteil wird meine Rache sein!
-
15.03.07 08:23 #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.
-
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 ImagesGrüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
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.
-
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!
-
Konntest du eine Lösung finden?
Ähnliche Themen
-
Objekt proportional skalieren
Von pixelpur im Forum CSSAntworten: 5Letzter Beitrag: 08.01.10, 12:02 -
Swing-Komponenten proportional skalieren?
Von Frezl im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 5Letzter Beitrag: 12.07.09, 18:01 -
Ein Bild skalieren
Von thekiller im Forum PHPAntworten: 1Letzter Beitrag: 30.07.07, 22:19 -
Bild aus Datenbank proportional verkleinern
Von Lovesdale im Forum PHPAntworten: 5Letzter Beitrag: 16.12.05, 14:05 -
bild skalieren
Von tomaso im Forum Flash PlattformAntworten: 3Letzter Beitrag: 01.03.04, 09:24





Zitieren

Login





