AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Formgröße anpassen ... funktioniert nicht richtig

Formgröße anpassen ... funktioniert nicht richtig

Ein Thema von JanWe · begonnen am 24. Aug 2015 · letzter Beitrag vom 24. Aug 2015
Antwort Antwort
Benutzerbild von JanWe
JanWe

Registriert seit: 23. Mär 2015
Ort: NRW
78 Beiträge
 
Delphi 7 Personal
 
#1

Formgröße anpassen ... funktioniert nicht richtig

  Alt 24. Aug 2015, 09:34
Delphi-Version: 5
Hallo, guten Morgen

ich hab vor, die tatsächliche Bildbreite aus dem geladenen Picture auszulesen und die Formgröße (Form2.width) daran anzupassen.

Funktioniert wohl auch, wenn das Bild kleiner ist, als die Form.
(bild.jpg)

Dumm nur, wenn das geladene JPEG aber 3000 px Breite hat.
(bild_gross.jpg)

Dann wird der Wert nicht mehr zugewiesen.
Sondern irgendein anderer.


Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var wd, lf : Integer;
begin
{// unwichtig, aber in der Originalunit enthalten.
  form2.image1.Top := 0 ;
    form2.image1.Left := 0 ;

  form2.Shape1.Shape := stEllipse;
    form2.Shape1.Shape := stRectangle;
  form2.Shape1.Brush.Color := clLime;
  form2.image1.picture.Assign(form1.Image1.picture);

  form2.image1.Width := form2.image1.Picture.Width;
  form2.image1.Height := form2.image1.Picture.Height;
}

  wd := form2.image1.Picture.Width; // WD erhhält den korrekten Wert
  form2.Width := wd;
  if form2.Width <> form2.image1.Picture.Width then
caption := 'zu klein !!!!!!!!!!!'; // 1616 statt 3800
  form2.Height := form2.image1.Picture.Height;
  caption := inttostr(form2.Width);
end;
Ich hoffe, Ihr schimpft nicht allzusehr.

Wäre aber nett, wenn Ihr mir eine Lösung verraten könntet.
Ich hoffe, da gibt's was.
Danke.
Miniaturansicht angehängter Grafiken
screenshot.png  
Angehängte Dateien
Dateityp: zip otherWindow.zip (625,4 KB, 1x aufgerufen)
Jan

Geändert von JanWe (24. Aug 2015 um 09:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Formgröße anpassen ... funktioniert nicht richtig

  Alt 24. Aug 2015, 09:44
Wie soll denn der Anwender auf einem Monitor mit 1600 Pixeln Breite das Bild in so einer 3800 Pixel grossen Form ansehen?

Ist ja ein wenig umständlich. Da wäre eine ScrollBox doch wesentlich handlicher.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von JanWe
JanWe

Registriert seit: 23. Mär 2015
Ort: NRW
78 Beiträge
 
Delphi 7 Personal
 
#3

AW: Formgröße anpassen ... funktioniert nicht richtig

  Alt 24. Aug 2015, 09:59
stimmt.
aber eigentlich nicht unmöglich.

Ich erinnere mich an einige Free/Sharewareprogramme, die 2005 schon für 1600*y programmiert wurden, und die auf meinem 800x600 .. (oder hatte ich da schon 1024x800?) egal - ich mußte um an die am unteren Rand angeordneten Bedienelemente die Form ganz nach oben aus dem Bildschirmrand schieben ... mm-Weise mehrmals klickend.
und dann bleib mir nur Maximieren mit einem Doppelklick auf den oberen 1px Windows-Fensterrand.

Darum dachte ich, das dürfte doch auch möglich sein, ner Form eine größere Größe zu geben.

Mhh, ja, ich seh schon,
ich muß "rausrücken", mit dem, was ich eigentlich möchte:

Ich hatte mir so einfach gedacht, man könne nen Screenshot von ner Form machen und die darauf platzierten Shapes gleich mit auf dem image "Delphi intern abfotografieren" und dann als Bilddatei Form2.image1.picture.SaveToFile('bla.bmp') abspeichern.
Also quasi die Shapes auf das Bild kleben und alles ("Screenshot der ganzen Form") speichern.

Wenn das anders einfacher ginge bräuchte ich natürlich natürlich nicht die Größenänderung der Form.

Wie mr da jetzt Scrollbox helfen könnte - hab ich keinen PLan. So gut kann ich leider noch kein Delphi.



Delphi-Quellcode:
var
  FormImage: TBitmap;
begin
//FormImage := Tbitmap.create;
  FormImage := GetFormImage;
try
  ClipBoard.Assign(form2.GetFormImage);
  Image3.Picture.Assign(Clipboard);
finally
  FormImage.Free;
end;
Jan

Geändert von JanWe (24. Aug 2015 um 10:05 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Formgröße anpassen ... funktioniert nicht richtig

  Alt 24. Aug 2015, 15:19
Wie mr da jetzt Scrollbox helfen könnte - hab ich keinen PLan. So gut kann ich leider noch kein Delphi.
Eine Scrollbox dient dazu, Komponenten, die so groß sind, daß sie nicht auf den Bildschirm oder die Form passen, dennoch anzeigen zu können, und zwar indem man an die jeweils gewünschte Position scrollt. Du nimmst eine Scrollbox, legst dort ein TImage rein, positionierst es links oben und stellst es auf AutoSize. Wird dort nun ein Bild reingeladen, das größer ist als der Clientbereich der Scrollbox, erscheinen in letztgenannter die Scrollbalken und du kannst das Bild scrollen.
  Mit Zitat antworten Zitat
Benutzerbild von JanWe
JanWe

Registriert seit: 23. Mär 2015
Ort: NRW
78 Beiträge
 
Delphi 7 Personal
 
#5

AW: Formgröße anpassen ... funktioniert nicht richtig

  Alt 24. Aug 2015, 20:43
Danke Euch beiden.
Mhh, ja ich hab mich da nun reingelesen ... in die Scrollbox.
Das Schieben der Regler funktioniert nun auch.

Allerdings bringt das gar keinen Effekt, wenn ich ein Foto der Form mache. Es wird nur ein Teil des form2.image aufgenommen. Genau wie zuvor.

Was wäre, wenn ich nun wie ursprünglich ein Shape im Quadranten rechts unten auf dem image (100%) platzieren möchte? [s. angehängtes Wunschbild]
OK, ich könnte es zuvor "stretchen". Allerdings würde dann auch die Auflösung vom Image auf die der Form reduziert und entspräche ja nicht mehr der Originalauflösung.

Aber ich möchte das Image in Vollgröße darstellen und abfotografieren oder irgendwie die Shapes mit dem Bild kombinieren und als BMP wieder abspeichern.
Miniaturansicht angehängter Grafiken
2015-08-24_213510-.jpg   wunschbild.jpg  
Angehängte Dateien
Dateityp: zip DoubleWindow.zip (643,3 KB, 1x aufgerufen)
Jan
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz