AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi gr32: Alpha Wert für TImage32 bei MouseMove ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

gr32: Alpha Wert für TImage32 bei MouseMove ermitteln

Offene Frage von "torte62"
Ein Thema von torte62 · begonnen am 7. Apr 2007 · letzter Beitrag vom 7. Apr 2007
Antwort Antwort
torte62

Registriert seit: 16. Mär 2007
18 Beiträge
 
Delphi 5 Enterprise
 
#1

gr32: Alpha Wert für TImage32 bei MouseMove ermitteln

  Alt 7. Apr 2007, 14:59
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
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

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

  Alt 7. Apr 2007, 15:03
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.
Lukas Erlacher
  Mit Zitat antworten Zitat
Benutzerbild von Manne
Manne

Registriert seit: 8. Okt 2003
Ort: Hirrlingen
82 Beiträge
 
Delphi 7 Personal
 
#3

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

  Alt 7. Apr 2007, 15:06
Hi,

oder mittels
Delphi-Quellcode:

AlphaComponent(imgview.canvas.pixels[x, y]);
MfG,
Manne
So 6 wie wir 5 gibt es keine 4 andere, denn wir 3 sind die 2 1sten
  Mit Zitat antworten Zitat
torte62

Registriert seit: 16. Mär 2007
18 Beiträge
 
Delphi 5 Enterprise
 
#4

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

  Alt 7. Apr 2007, 15:44
bekomme aus Tcolor32 keinen brauchbaren Integer Wert 0-255, vielleicht noch die Zeile?
Gruß Torsten
  Mit Zitat antworten Zitat
torte62

Registriert seit: 16. Mär 2007
18 Beiträge
 
Delphi 5 Enterprise
 
#5

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

  Alt 7. Apr 2007, 16:17
Alles klar, inttostr(AlphaComponent(imgview.canvas.pixels[x, y]))
Danke Gruß Torsten
  Mit Zitat antworten Zitat
torte62

Registriert seit: 16. Mär 2007
18 Beiträge
 
Delphi 5 Enterprise
 
#6

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

  Alt 7. Apr 2007, 16:47
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
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#7

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

  Alt 7. Apr 2007, 17:01
Schau dir das hier nocmal genau an:

Alpha := Color32 shr 24;
Lukas Erlacher
  Mit Zitat antworten Zitat
torte62

Registriert seit: 16. Mär 2007
18 Beiträge
 
Delphi 5 Enterprise
 
#8

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

  Alt 7. Apr 2007, 19:23
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
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#9

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

  Alt 7. Apr 2007, 19:29
ok, jetzt nochmal zum mitschreiben:

Delphi-Quellcode:
var
  Alpha: Byte;

Alpha := Color32 shr 24;

ShowMessage(IntTostr(Alpha));
Lukas Erlacher
  Mit Zitat antworten Zitat
torte62

Registriert seit: 16. Mär 2007
18 Beiträge
 
Delphi 5 Enterprise
 
#10

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

  Alt 7. Apr 2007, 19:53
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
  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 06:51 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