AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi ImageMap mit zwei Spalten beim wechsel fehler
Thema durchsuchen
Ansicht
Themen-Optionen

ImageMap mit zwei Spalten beim wechsel fehler

Ein Thema von mimi · begonnen am 4. Apr 2006 · letzter Beitrag vom 6. Apr 2006
 
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#1

ImageMap mit zwei Spalten beim wechsel fehler

  Alt 4. Apr 2006, 17:19
Hallo,
ich habe eine grafik wo ich gerne die grafik makieren möchte wo der mauszeige drunter ist d.h. die grafik ist 49 pixel breit und 198 pixel hoch.

jetzt möchte ich gerne das das Aktuelle Bild rot makiert wird(kein problem) und beim verlassen wider silber makiert wird(auch kein problem.

Jetzt kommt das eigentliche problem:
sobalt ich die Spalte wechsel ändert er die farbe von der vohrieren spalte nicht.

Ich habe im anhang die beispiel exe eingefigt.
und hier ist der code:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.Picture.LoadFromFile('D:\Daten\eigene\delphi\grafik\Paint1\icons\werkzeuge.bmp');
  Image1.Width:=BW;
  Image1.Height:=BH;
  AX:=BW div 2;
  AY:=BH div 8;
  Label1.Caption:=IntToStr(AX) + ':' + IntToStr(ay);
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  m:Integer;
begin

  Label8.Caption:=IntToStr(ox) + ':' + IntToStr(oy);
  Label2.Caption:=IntToStr(X) + ':' + IntToStr(y);

  IX:=(X div 24)+1;
  IY:=(y div 24)+1;
  Label3.Caption:=IntToStr(ix) + ':' + IntToStr(iy);
  Edit1.Text:=ColorToString(Image1.Canvas.Pixels[x,y]);


  if x < 24 then
    m:=0
  else
    m:=25;

  if Image1.canvas.Pixels[x,y] = clsilver then begin
    Image1.Canvas.Brush.Color:=clRed;
    Image1.canvas.FloodFill(m,(iy*24)-10,clSilver,fsSurface);
  end;

  if Image1.canvas.Pixels[x,y] = clRed then begin
    if ((iy*24)-10 <> oy) then begin

      Image1.Canvas.Brush.Color:=clSilver;
      Image1.canvas.FloodFill(m,oy,clRed,fsSurface);

      oy:=(iy*24)-10;
    end;
  end;
    ox:=m;
 
end;
Ich hoffe einer von euch kann mir bei MEINEM problem behilich sein. Das währe für mich sehr hilfreich wenn *G*.

Vielen dank schonmal im voraus.
Angehängte Dateien
Dateityp: exe paint1_880.exe (388,0 KB, 14x aufgerufen)
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
 


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 14:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz