| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Fejl Fra : Henning Madsen | 
  Dato :  10-11-07 22:09 |  
  |   
            På Form1 har jeg plaseret en Image.
 På Imagen er der anbragt en BMP Tegning.
 På tegningen skal der med et museklik anbringes en lille rød cirkel (4 
 piksel).
 Cirklen bliver i Y retningen desværre anbragt ca 2 cm højere oppe en 
 musepilen,
 men rigtig i X retningen.
 Afvigelsen bliver større og større i bunden af Imagen.
 
 Har kontroleret alverdens ting men kan ikke se hvad det skylles.
 Er der nogen der kan give mig nogle ideer vel det være meget velkommen.
 
 Bruger Delphi 7 og XP
 På forhånd tak
 mvh
 Henning 
 
 
  
            
             |   |   
            
        
 
            
         
           Harald (10-11-2007) 
         
	
            | Kommentar Fra : Harald | 
  Dato :  10-11-07 22:24 |  
  |   
            "Henning Madsen" <hkjeldm@mail.dk> skrev i en meddelelse 
 news:47361b73$0$2094$edfadb0f@dtext02.news.tele.dk...
 > På Form1 har jeg plaseret en Image.
 > På Imagen er der anbragt en BMP Tegning.
 > På tegningen skal der med et museklik anbringes en lille rød cirkel (4 
 > piksel).
 > Cirklen bliver i Y retningen desværre anbragt ca 2 cm højere oppe en 
 > musepilen,
 > men rigtig i X retningen.
 > Afvigelsen bliver større og større i bunden af Imagen.
 >
 > Har kontroleret alverdens ting men kan ikke se hvad det skylles.
 > Er der nogen der kan give mig nogle ideer vel det være meget velkommen.
 >
 > Bruger Delphi 7 og XP
 > På forhånd tak
 
 Nok fordi dit billede ikke vises på formen i dens oprindelige størrelse, men 
 svært at sige uden at se noget kode.
 
 /HK
 
 
  
            
             |   |   
            
        
 
            
         
           Henning Madsen (10-11-2007) 
         
	
            | Kommentar Fra : Henning Madsen | 
  Dato :  10-11-07 23:04 |  
  |   
            Tak for svaret Harald
 Tror, mener og ved ikke, men fejlen må vel være i denne Procedure.
 Yderlig kan oplyses at i position Y= 1 tegnes cirklen korekt, men afvigelsen 
 bliver større og større ned mod bunden.
 Tegningen skulde være i den rigtige størrelse.
 
 procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
 var
  kode, T: Integer;
 begin
   // Her sikres at der vælges et navn til den cirkel der oprettes.
   If (Edit2.Text = '') And (Cursor = crDefault) Then ShowMessage('Marker et 
 navn');
 
   If (Cursor = crDefault) And (Button = mbLeft) And (Edit2.Text > '') And 
 (Image1.Canvas.Pixels[X,Y] = 6710886) Then
   Begin 
 //** Jord farven **//
 //************************************************//
 // Her bruges en eventuel tom plads til en cirkel //
 //************************************************//
     Kode := 1;
     For T := 1 To Nr Do
     Begin
       If (Poster[T].PositionX = 0) And (Poster[T].PositionY = 0) Then
       Begin
         Kode := 0;
         Break;
       End;
     End;
 //***************************//
 // Hvis der er en tom plads. //
 //***************************//
     If Kode = 0 Then
     Begin
       Poster[T].PositionX := X;
       Poster[T].PositionY := Y;
       Poster[T].Diameter := Radius;
       Poster[T].Navn := Edit2.Text;
       Form1.Image1.Canvas.Pen.Color := clBlack;
       Form1.Image1.Canvas.Brush.Color := Farve;
       Form1.Image1.Canvas.Ellipse(X - Radius,Y - Radius,X + Radius, Y + 
 Radius);
     End;
 //********************************//
 // Hvis der ikke er en tom plads. //
 //********************************//
     If Kode = 1 Then
     Begin
       Nr := Nr + 1;
       Poster[Nr].PositionX := X;
       Poster[Nr].PositionY := Y;
       Poster[Nr].Diameter := Radius;
       Poster[Nr].Navn := Edit2.Text;
       Form1.Image1.Canvas.Pen.Color := clBlack;
       Form1.Image1.Canvas.Brush.Color := Farve;
       Form1.Image1.Canvas.Ellipse(X - Radius, Y - Radius, X + Radius, Y + 
 Radius);
     End;
   End;
 //*************//
 // Slet Cirkel //
 //*************//
   If (Cursor = crCross) And (Button = mbRight) Then
   Begin
     With Form1.Image1.Canvas Do
     Begin
       Pen.Color := 6710886; //Jord farven.
       Brush.Color := 6710886; //Jord Farven.
       Radius := Poster[GemNr].Diameter;
       Ellipse(Poster[GemNr].PositionX - Radius, Poster[GemNr].PositionY - 
 Radius,
       Poster[GemNr].PositionX + Radius, Poster[GemNr].PositionY + Radius);
       Poster[GemNr].PositionX := 0;
       Poster[GemNr].PositionY := 0;
     End;
   End;
 
 //*************//
 // Flyt cirkel //
 //*************//
   If Button = mbMiddle Then
   Begin
     With Form1.Image1.Canvas Do
     Begin
       Brush.Color := 6710886; //Jord farven.
       Pen.Color := 6710886;  //Jord farven.
       Radius := Poster[GemNr].Diameter;
       Ellipse(Poster[GemNr].PositionX - Radius, Poster[GemNr].PositionY - 
 Radius,
       Poster[GemNr].PositionX + Radius, Poster[GemNr].PositionY + Radius);
       Pen.Color := clBlack;
       Brush.Color := Farve;
       Ellipse(X - Radius, Y - Radius, X + Radius, Y + Radius);
       Poster[GemNr].PositionX := X;
       Poster[GemNr].PositionY := Y;
     End;
   End;
 End;
 //------------------------------------------------------------------------------
 
 Skal der måske ændres på Imagens opsætning ??
 Håber Proceduren kan give en løsning.
 mvh.
 Henning
 
 
  
            
             |   |   
            
        
 
            
         
           Harald (11-11-2007) 
         
	
            | Kommentar Fra : Harald | 
  Dato :  11-11-07 01:22 |  
  |   
            "Henning Madsen" <hkjeldm@mail.dk> skrev i en meddelelse 
 news:47362860$0$2107$edfadb0f@dtext02.news.tele.dk...
 > Tak for svaret Harald
 > Tror, mener og ved ikke, men fejlen må vel være i denne Procedure.
 > Yderlig kan oplyses at i position Y= 1 tegnes cirklen korekt, men 
 > afvigelsen bliver større og større ned mod bunden.
 > Tegningen skulde være i den rigtige størrelse.
 
 Jeg har smidt en TImage med en bmp på en form og taget din kode:
   Form1.Image1.Canvas.Pen.Color := clBlack;
       Form1.Image1.Canvas.Brush.Color := clwhite;
       Form1.Image1.Canvas.Ellipse(X - Radius, Y - Radius, X + Radius, Y 
 +Radius);
 
 og smidt ind i Image1MouseDown og det tegner en fin cirkel lige der hvor 
 musen er.
 Så jeg gætte stadig på at du evt. har sat Stretch=True
 
 /HK
 
 
  
            
             |   |   
            
        
 
            
         
            Henning Madsen (11-11-2007) 
         
	
            | Kommentar Fra : Henning Madsen | 
  Dato :  11-11-07 10:09 |  
  |   
            
 "Harald" <noname@nomail.dk> skrev i en meddelelse 
 news:47364b41$0$90263$14726298@news.sunsite.dk...
 > "Henning Madsen" <hkjeldm@mail.dk> skrev i en meddelelse 
 > news:47362860$0$2107$edfadb0f@dtext02.news.tele.dk...
 >> Tak for svaret Harald
 >> Tror, mener og ved ikke, men fejlen må vel være i denne Procedure.
 >> Yderlig kan oplyses at i position Y= 1 tegnes cirklen korekt, men 
 >> afvigelsen bliver større og større ned mod bunden.
 >> Tegningen skulde være i den rigtige størrelse.
 >
 > Jeg har smidt en TImage med en bmp på en form og taget din kode:
 >  Form1.Image1.Canvas.Pen.Color := clBlack;
 >      Form1.Image1.Canvas.Brush.Color := clwhite;
 >      Form1.Image1.Canvas.Ellipse(X - Radius, Y - Radius, X + Radius, Y 
 > +Radius);
 >
 > og smidt ind i Image1MouseDown og det tegner en fin cirkel lige der hvor 
 > musen er.
 > Så jeg gætte stadig på at du evt. har sat Stretch=True
 >
 > /HK
 >
 >Du har fuldstendig ret Harald Stretch var sat til True, så nu virker alt 
 >igen.
 Tak for hjælpen
 mvh
 Henning 
 
 
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |