AGB  ·  Datenschutz  ·  Impressum  







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

Zoom im tImage bei Apfelmann

Ein Thema von Daniel07A · begonnen am 15. Mai 2005 · letzter Beitrag vom 16. Mai 2005
Antwort Antwort
Daniel07A

Registriert seit: 15. Mai 2005
12 Beiträge
 
Delphi 7 Enterprise
 
#1

Zoom im tImage bei Apfelmann

  Alt 15. Mai 2005, 19:16
Hi,

Habe ein Programm, welches das Apfelmännchen auf ein tImage zeichnet, nachedem ich auf den Button zeichnen geklickt habe. Nachdem das Apfelmännchen gezeichnet wurde, möchte ich auf dem tImage zoomen können. Ich habe schon versucht einen Quellcode zu schreiben. Der Funtkioniert jedoch nicht. Ihr könnt ihn euch ja mal anschauen und sagen wo der Fehler liegt.

Der Zoom kann auf 2 Arten funktionieren,

...Entweder man kann mit der Maus ein viereck ect. auf dem tImage ziehen und der Bereich wird dann vergrößert

...oder man hat eine kleine Lupe als Mauszeiger wenn man auf das tImage kommt und wenn man klickt wird das Bild immer an der Stelle wo man geklickt hat um das 2 Fache vergrößert.

Ist mir egal welche funktion ihr versucht, ich habe in meinem Bsp. die 1. gewählt.

Delphi-Quellcode:
procedure TFRM_Main.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var a,b : real;
begin
  a := xmin + (x-152)*(xmax-xmin) / IMG_Apfelmann.Width;
  b := ymax - (y-8)*(ymax-ymin) / IMG_Apfelmann.Height;
  FRM_Options.EDT_xmin.Text := floattostrf(a,fffixed,10,8);
  FRM_Options.EDT_ymax.Text := floattostrf(b,fffixed,10,8);
  xo := x; yl := y; xu := x; yr := y;
  md := true;
end;

procedure TFRM_Main.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  md := false;
end;

procedure TFRM_Main.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var a,b : real;
begin
  if md then
   begin
     a := xmin + (x-152)*(xmax-xmin) / IMG_Apfelmann.Width;
     b := ymax - (y-8)*(ymax-ymin) / IMG_Apfelmann.Height;
     FRM_Options.EDT_xmax.Text := floattostrf(a,fffixed,10,8);
     FRM_Options.EDT_ymin.Text := floattostrf(b,fffixed,10,8);
     IMG_Apfelmann.canvas.Pen.Mode := pmnotxor;
     IMG_Apfelmann.canvas.Rectangle(xo,yl,xu,yr);
     IMG_Apfelmann.canvas.Rectangle(xo,yl,x,y);
     IMG_Apfelmann.canvas.Pen.Mode := pmcopy;
     xu := x; yr := y;
   end;
end;

Denke das man mein Problem versteht

Gruß Daniel
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Zoom im tImage bei Apfelmann

  Alt 16. Mai 2005, 00:15
Hallo!

So kannst du einen canvas zoomen.
Thomas
  Mit Zitat antworten Zitat
Daniel07A

Registriert seit: 15. Mai 2005
12 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Zoom im tImage bei Apfelmann

  Alt 16. Mai 2005, 10:49
Das funtkioniert irgendwie nicht mit deinem Tipp. Wenn ich es so mache wie es dort erklärt wird, und auf den button klicke, dann erscheint über dem eigentlichen tImage des Apfelmanns, genau das selbe Apfelmann-Bild nur ein Bisschen kleiner. Es wurde nichts herangezoomt.
  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 22:05 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