AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Image malt nach Resizen nicht über die alten Grenzen hinaus
Thema durchsuchen
Ansicht
Themen-Optionen

Image malt nach Resizen nicht über die alten Grenzen hinaus

Ein Thema von Schilly · begonnen am 1. Dez 2009 · letzter Beitrag vom 1. Dez 2009
Antwort Antwort
Schilly

Registriert seit: 10. Dez 2008
Ort: Nähe Bremen
16 Beiträge
 
#1

Image malt nach Resizen nicht über die alten Grenzen hinaus

  Alt 1. Dez 2009, 17:22
Hallo,

Ich habe eine von TImage abgeleitete Klasse. Da drin sind ein paar Boxen gemalt, das soll mal Käsekästchen werden ^^. Wenn ich jetzt zur Laufzeit Width und Height vergrößere (sind von Beginn auf einem Standardwert), passen sich die Boxen daran an, aber er zeigt nur innerhalb der alten Grenzen etwas an, d.h. er schneidet es bei den alten Grenzen ab. Width und Height haben trotzdem, wenn ich sie abrufe, die neuen Werte. Mit den Constraints habe ich auch nicht rumgespielt, wenn ich die aber z.B. auf 1000 oder 0 setze, ändert sich allerdings auch nichts. Meine alte OnResize - Prozedur hab ich jetzt schon zur OnCanResize geändert, trotzdem der gleiche Fehler. Was habe ich also falsch gemacht?

Wenn es euch etwas hilft, kann ich euch auch noch die OnCanResize-Prozedur geben:

Delphi-Quellcode:
procedure TDotsGame.CanResizeIt(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean);
begin
  case FResizeKind of
    rszBoxSize: // Box-Seitenlänge passt sich an, Anzahl der Boxes bleibt gleich
        FBoxSize := Min( NewWidth div FGameSize.X , NewHeight div FGameSize.Y );
    rszBoxCount: // Box-Seitenlänge bleibt gleich, Anzahl der Boxes wird angepasst
        SetGSsimple( Point( NewWidth div FBoxSize, NewHeight div FBoxSize ) );
  end;
  NewWidth := FBoxSize * FGameSize.X;
  NewHeight := FBoxSize * FGameSize.Y;
end;
(Mit beiden Werten für FResizeKind geht es nicht.)

Vielen Dank im Vorraus!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#2

Re: Image malt nach Resizen nicht über die alten Grenzen hin

  Alt 1. Dez 2009, 18:08
du mußt auch das Bild in .Picture.{type} anpassen

also wenn z.B. ein Bitmap im Image liegt, dann {Image}.Picture.Bitmap.Width ...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
934 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Image malt nach Resizen nicht über die alten Grenzen hin

  Alt 1. Dez 2009, 18:09
Nichts.

Außer das auch das Bitmap an die neue Größe angepasst werden sollte, oder in dein Image.Strech := true setzen.

Viele Grüße
  Mit Zitat antworten Zitat
Schilly

Registriert seit: 10. Dez 2008
Ort: Nähe Bremen
16 Beiträge
 
#4

Re: Image malt nach Resizen nicht über die alten Grenzen hin

  Alt 1. Dez 2009, 18:43
Ahja, Stretch war das was ich gesucht habe, danke.
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:33 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