Einzelnen Beitrag anzeigen

mimi

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

Re: Transparentfarbe aus Pixelposition im Bild

  Alt 1. Aug 2006, 11:40
ich habe genau das gleich versucht und es hat mich tage gekostet um festzustellen das es an Tranzparentcolor liegt weil ich hatten ihn so zugewiesen wie du auch doch das klappte nicht.

Ich meine es liegt dran das die farben nicht 100%ig überein stimmen du musst irgenwie eine Tolleranz einbauen.
ich habe es so gelöst versuche mal folgenden code:

Delphi-Quellcode:
function collision(Bild1, Bild2:TBitMap; x1,y1,x2,y2:Integer):Boolean;
var
  sx,sy:Integer;
  test:Boolean;
  r1,r2,r3:TRect;
begin
  // Position vom zweiten objekt berechnen
  sx:=x2-x1; sy:=y2-y1;
  test:=False;
  r2.Left:=x2; r2.Top:=y2; r2.Right:=x2+bild2.Width; r2.Bottom:=y2+bild2.Height;
  r1.Left:=x1; r1.Top:=y1; r1.Right:=x1+bild1.Width; r1.Bottom:=y1+bild1.Height;
  if IntersectRect(r3,r1,r2) = True then begin
    if Bild1.Canvas.Pixels[sx,sy] = Bild1.Canvas.Pixels[1,1] then test:=False
    else test:=True;
  end;
  result:=Test;
end; // Collsion
das problem dabei ist jetzt nur noch das wenn du von oben kommst fehler kommen evlt. bekommst du eine lösung hin oder hast eine idee wie es gelöst werden könnte
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat