Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Pixel unter Mouse-Cursor auslesen

  1. #1
    Registrierter Benutzer Avatar von againsttcpa
    Registriert seit
    21.03.2003
    Ort
    Am Oberlauf der Weser
    Beiträge
    52

    Pixel unter Mouse-Cursor auslesen

    Hallo,

    ich möchte den RGB-Wert unter dem Cursor auslesen. Unter Windows/Delphi war dies bereits implementiert.
    Unter Linux/Kylix ist dies nicht der Fall.
    Ich möchte jetzt wissen, ob es in irgendeiner Library (.a oder .so) eine Funktion gibt, die so etwas kann.
    Bräuchte ich dringend

    Gruß Sven
    Mandrake 9.1, Kernel 2.4.21, XFree 4.3.0, KDE 3, Kylix 3,
    PIII/500, 256MB, 12+3GB, Modem 56K intern

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    In einem eigenen Widget?

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer Avatar von againsttcpa
    Registriert seit
    21.03.2003
    Ort
    Am Oberlauf der Weser
    Beiträge
    52
    K.A. Es handelt sich um eine Grafik in einem TImage.
    Das Handle des Bitmap-Objectes ist als HPixmapH defieniert. Dann denke ich mal schon.

    Sven
    Mandrake 9.1, Kernel 2.4.21, XFree 4.3.0, KDE 3, Kylix 3,
    PIII/500, 256MB, 12+3GB, Modem 56K intern

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Ah, es ist also sogar ein Bild?

    Dann sollte doch das TImage Objekt oder das Pixmap Objekt Methoden für den Pixelzugriff haben, oder?

    QImage hat dazu zB eine Methode pixel(int, int)

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer Avatar von againsttcpa
    Registriert seit
    21.03.2003
    Ort
    Am Oberlauf der Weser
    Beiträge
    52
    Neeeee,

    es ist ein TImage. Der Zugriff auf das Bild erfolgt mittels Image1.Picture.Bitmap.

    Ich habe folgende funkionierende Funktion fr mich herausgefunden:

    procedure TdlgColor.AcColorClick(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
    var PImgL : PByteArray;
    txt : string;
    begin
    PImgL := TImage(Sender).Picture.Bitmap.ScanLine[Y];
    txt := '$00' + IntToHex(PImgL^[X*4],2) +
    IntToHex(PImgL^[X*4+1],2) + IntToHex(PImgL^[X*4+2],2);
    if txt <> '$C8D0D4' then pnlColor.Color := StrToInt(txt);
    end;
    Sven
    Mandrake 9.1, Kernel 2.4.21, XFree 4.3.0, KDE 3, Kylix 3,
    PIII/500, 256MB, 12+3GB, Modem 56K intern

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •