Pixelfarbe ermitteln

  • Antworten:5
hub
  • Forum-Beiträge: 9

29.10.2019, 19:19:18 via Website

Hallo,
Ich will ein Tool schreiben, dass bei einem Klick die Koordinaten und die Pixelfarbe vom Bildschirm ermittelt und anzeigt. Das Ganze soll unabhängig von der laufenden App funktionieren.
Einen Service mit Overlay-Anzeige habe ich schon fertig. Die Koordinaten werden auch schon angezeigt.
Bei der Pixelfarbe habe ich noch nichts gefunden, wie ich diese ermitteln kann.
Kann man ein Pixel direkt auslesen (z.B. screen.GetPixel()) oder muss man erst eine Art Hardcopy machen und dann die Hardcopy auswerten?

Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

30.10.2019, 08:24:17 via App

Auf die schnelle fällt mir nur eine Lösung mit root ein:
https://stackoverflow.com/a/35836815

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Jokel
Kommentieren
swa00
  • Forum-Beiträge: 3.704

30.10.2019, 08:24:25 via Website

Wovon möchtest du denn einen Pixel auslesen ?
Dies hast du leider vergessen, zu erwähnen.

Allgemein liest man einen Pixelwert ARGB aus dem Drawingcache aus
https://developer.android.com/reference/android/graphics/Canvas

— geändert am 30.10.2019, 08:24:38

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.537

30.10.2019, 08:48:13 via Website

Hallo also ich denke er will ein pixel von dem was er gerade auf dem Display sieht. Er hat ja einen Button der immer sichtbar ist ganz gleich in welcher app sich der user befindet.
Deshalb auch sein Vorschlag hardcopy.

Ich habe im Moment leider auch keine andere Idee

screenshot
Vielleicht hier
https://medium.com/@ssaurel/taking-a-screenshot-programmatically-in-android-apps-67619cb80bf8

Im bitmap dann an der richtigen Position auslesen. Du wirstcwohl auch die Display Auflösung brauchen.
Bestimmt auch root denn manche apps
Verbieten ein Screenshot.

— geändert am 30.10.2019, 09:05:15

Hilfreich?
Kommentieren
hub
  • Forum-Beiträge: 9

31.10.2019, 15:54:24 via Website

Hallo,

meine Gedanken waren:
- direkte Abfrage eines Pixels vom Display, oder
- Hardcopy vom Display und Hardcopy auswerten

Die direkte Abfrage des Displays scheint nicht zu gehen.

Bei der Hardcopy habe ich viele Screenshot-Beispiele gefunden und ausprobiert.
Die benötigen aber alle ein View, womit sie nur innerhalb der eigenen App funktionieren und nur von der eigenen App eine Hardcopy erstellen können.

Im Google Playstore gibt es zig Apps für Hardcopys, so wie ich es bräuchte.
Auch für nicht gerootete Handys.

Wie schaffen die das?
Wie müsste man das Problem angehen?

Hilfreich?
Kommentieren