AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Image ist zu klein

Ein Thema von LiS · begonnen am 23. Apr 2006 · letzter Beitrag vom 23. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
LiS

Registriert seit: 3. Dez 2004
87 Beiträge
 
Turbo Delphi für Win32
 
#1

Image ist zu klein

  Alt 23. Apr 2006, 20:15
Hallo!

Ich habe ein Problem mit Images, ich gebe folgenden Befehl:
Ein_Image.Canvas.Rectangle(0,0,Ein_Image.Width,Ein_Image.Height); Er soll also ein Rechteck zeichnen, das die größe des Images hat und der Rand müsste zu sehen sein.
Allerdings sieht man nur den oberen und den linken Rand. Das Image scheint rechts und unten abgeschnitten. Das, was man sieht ist auch viel kleiner, als das Images. Es wird also einfacht nur ein Teil des Images angezeigt und das kann ich mir absolut nicht erklären! Weiß hier vielleicht jemand weiter? Danke schonmal!
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Image ist zu klein

  Alt 23. Apr 2006, 20:19
Hi!

Zitat von LiS:
Das Image scheint rechts und unten abgeschnitten.
Du bist an der Warheit knapp dran.

Wenn dein Bild 100 mal 100 Pixel groß ist, dann ist deine erste Zeile die Zeile 0 (wie du schon richtig erkannt hast) und die letzte die Zeile 99. Ebenso bei den Spalten. Demnach sollte Ein_Image.Canvas.Rectangle(0,0,Ein_Image.Width-1,Ein_Image.Height-1); dein Problem lösen

//edit: Alles Quatsch ... nur warum?
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
LiS

Registriert seit: 3. Dez 2004
87 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Image ist zu klein

  Alt 23. Apr 2006, 20:24
Nee, so habe ich das nicht gemeint, das Image ist auch viel zu klein! Es sollte nach Berechnungen vorher viel größer sein und ich lass mir die Größe vorher mit showmessage(inttostr(Image.Width)); ausgeben. Das Eas ich sehe sind aber nur die Hälfte davon oder so..
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Image ist zu klein

  Alt 23. Apr 2006, 20:25
Bitte gib uns doch eine wenig Code, damit wir dir helfen können.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
LiS

Registriert seit: 3. Dez 2004
87 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Image ist zu klein

  Alt 23. Apr 2006, 20:30
Hier ist der Code im Zusammenhang. Man müsste ein Quadrat der Größe (Dicke*(2*Sichtweite+1)) sehen, aber das auf dem Bildschirm ist kleiner und eben abgeschnitten.

Delphi-Quellcode:
  // Images und Labels platzieren
  for a := 0 to 5 do
  begin
    Ein_Image := TImage(form_Spiel.FindComponent('Image'+inttostr(a)));
    Ein_Label := TLabel(form_Spiel.FindComponent('Label'+inttostr(a)));
    if a <= high(Images) then
    begin
      Ein_Image.Height := Dicke*(2*Sichtweite+1);
      Ein_Image.Width := Dicke*(2*Sichtweite+1);
      Ein_Image.Top := 10+(((a) div horizontal)*(Ein_Image.Height + 30));
      Ein_Image.Left := 10+(((a) mod horizontal)*(Ein_Image.Width + 10));
      Ein_Image.Canvas.Pen.Color := clBlack;
      Ein_Image.Canvas.Brush.Color := clWhite;
      Ein_Image.Canvas.Rectangle(0,0,Ein_Image.Width,Ein_Image.Height);
      Ein_Image.Visible := True;
      Images[a] := -1;
      Ein_Label.Top := 10+(((a) div horizontal)*(Ein_Image.Height + 30))+Ein_Image.Height;
      Ein_Label.Left := 10+(((a) mod horizontal)*(Ein_Image.Width + 10));
      Ein_Label.Visible := True;
    end
    else
    begin
      Ein_Image.Visible := False;
      Ein_Label.Visible := False;
    end;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#6

Re: Image ist zu klein

  Alt 23. Apr 2006, 20:31
Hi!

Sicher, dass deine angenommenen Werte von Dicke und Sichtweite stimmen? Mal nen Breakpoint gesetzt und das ganze untersucht?


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
LiS

Registriert seit: 3. Dez 2004
87 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Image ist zu klein

  Alt 23. Apr 2006, 20:34
Sie stimmen auf jeden Fall, das habe ich überprüft. Seltsam ist auch, dass es bei verschiedenen Werten für die Sichtweite und die Dicke manchmal abgeschnitten ist und manchmal nicht. Gibt es eine Maximalgröße für Images?
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#8

Re: Image ist zu klein

  Alt 23. Apr 2006, 20:35
Hi!

Ja, die kannst du mit High(Integer) auslesen - aber die ist weit größer als jeder Bildschirm


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#9

Re: Image ist zu klein

  Alt 23. Apr 2006, 20:42
Ist es Absicht, dass du hier
Ein_Image.Top := 10+(((a) div horizontal)*(Ein_Image.Height + 30)); etwas anderes Abfragst als hier?
Ein_Label.Top := 10+(((a) div horizontal)*(Ein_Image.Height + 30))+Ein_Image.Height; Vielleicht liegt es ja auch daran, dass du dir einmal die untere und einmal obere Seite des Bildes ausgeben lässt...


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
LiS

Registriert seit: 3. Dez 2004
87 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Image ist zu klein

  Alt 23. Apr 2006, 20:48
Ne, das ist schon richtig so, denn das zweite ist die Position von dem Label, das sich unter dem Image befindet. Hm, ich werd nochmal den restlichen Code durchgehen, vielleicht steckt der Fehler ja woanders...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:28 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