Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi gr32: Alpha Wert für TImage32 bei MouseMove ermitteln (https://www.delphipraxis.net/89867-gr32-alpha-wert-fuer-timage32-bei-mousemove-ermitteln.html)

torte62 7. Apr 2007 13:59


gr32: Alpha Wert für TImage32 bei MouseMove ermitteln
 
Wer kann mir sagen wie ich den zugehörigen Alpha Wert bekomme bei einem TImage32 und MouseMove

procedure getcolor;
var
mycolor: Tcolor;
begin
mycolor := imgview.canvas.pixels[x, y];
end;

Schon im voraus vielen Dank,
Torsten Pankratz

DGL-luke 7. Apr 2007 14:03

Re: gr32: Alpha Wert für TImage32 bei MouseMove ermitteln
 
Hallo,

erstmal solltest du die mauskkordinaten zu den Koordinaten des enthaltenen TBitmap32 translieren, TImage32 hat dafür eine Funktion.

Den Alphawert kannst du rausfinden, indem du den Color32-Wert auf TColor32Entry castest. Da hast du dann ein Mamber "A", das ist dein Alpha-Wert.

Manne 7. Apr 2007 14:06

Re: gr32: Alpha Wert für TImage32 bei MouseMove ermitteln
 
Hi,

oder mittels
Delphi-Quellcode:

AlphaComponent(imgview.canvas.pixels[x, y]);
MfG,
Manne

torte62 7. Apr 2007 14:44

Re: gr32: Alpha Wert für TImage32 bei MouseMove ermitteln
 
bekomme aus Tcolor32 keinen brauchbaren Integer Wert 0-255, vielleicht noch die Zeile?
Gruß Torsten

torte62 7. Apr 2007 15:17

Re: gr32: Alpha Wert für TImage32 bei MouseMove ermitteln
 
Alles klar, inttostr(AlphaComponent(imgview.canvas.pixels[x, y]))
Danke Gruß Torsten

torte62 7. Apr 2007 15:47

Re: gr32: Alpha Wert für TImage32 bei MouseMove ermitteln
 
doch zu voreilig da ich noch mit einer älteren Version von gr32 arbeite und TColor32Entry noch nicht existiert.
bekomme mit

alphalabel.caption:=inttostr(AlphaComponent(imgvie w.canvas.pixels[x, y]) shr 24);

immer eine 0.

Gruß Torsten

DGL-luke 7. Apr 2007 16:01

Re: gr32: Alpha Wert für TImage32 bei MouseMove ermitteln
 
Schau dir das hier nocmal genau an:

Delphi-Quellcode:
Alpha := Color32 shr 24;
:zwinker:

torte62 7. Apr 2007 18:23

Re: gr32: Alpha Wert für TImage32 bei MouseMove ermitteln
 
ich habe es mal so versucht jedoch funkts so auch nicht.

var
AColor32: TColor32;
begin
acolor32:=AlphaComponent(imgview.canvas.pixels[x, y]) ;
colorlabel.caption:=inttostr(acolor32 shr 24);
end;

vielleicht kann sich ja noch mal einer dem annehmen.
Gruß Torsten

DGL-luke 7. Apr 2007 18:29

Re: gr32: Alpha Wert für TImage32 bei MouseMove ermitteln
 
ok, jetzt nochmal zum mitschreiben:

Delphi-Quellcode:
var
  Alpha: Byte;

Alpha := Color32 shr 24;

ShowMessage(IntTostr(Alpha));

torte62 7. Apr 2007 18:53

Re: gr32: Alpha Wert für TImage32 bei MouseMove ermitteln
 
So sieht mein Code aus der natürlich immer noch nur 0 ergibt. Sei so gnädig und gib mir doch noch ein paar Tips mehr.


procedure TMainForm.Image32MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer; Layer: TCustomLayer);
var
AColor32: TColor32;
alpha: byte;
begin
acolor32:=AlphaComponent(imgview.canvas.pixels[x, y]);
Alpha := acolor32 shr 24;
colorlabel.caption:=inttostr(alpha);;
end;

gruß Torsten
Looktrue.com


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 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