T
taskerbeginner
Neues Mitglied
- 0
Hallo,
ich hab auch erste Schritte gewagt Richtung Android Programmierung.
Aber es hakt jetzt bereits, bei der einfachen Abfrage eines Pixelwertes.
Ich hole ein Screenshot einmal als png und einmal als RAW
adb shell screencap /sdcard/test.dump
adb shell screencap /sdcard/screen.png
Nach etwas rumfummeln auf den Raspberry Pi kam ich zu der hexdump Methode. (scheint wohl ein propates Mittel zu sein).
stringZ=$(dd if='test.dump' bs=4 count=1 skip=3 2>result.txt| hexdump); red=$(echo $stringZ | cut -d' ' -f2 | tail -c3); green=$(echo $stringZ | cut -d' ' -f2 | head -c2); blue=$(echo $stringZ | cut -d' ' -f3 | tail -c3); rgb="$red$green$blue"; echo $rgb;
Die Farbwerte passen auch mit dem, was im Hexeditor zu sehen ist.
Wenn ich jetzt aber das PNG oeffne, in Paint auf Max Zoom gehe und mit ein Colorpicker Tool oder auch die Paint eigenen Werte von Hand in Hex rechne passt garnix mehr.
Selbst der erste Pixel passt nicht.
Ich habe ein Galaxy Tab 2 mit Slimrom. Aufloesung liegt bein 1280*800. Ich verstehe dieses Rawformat nicht.
Screen wurde im Portraet Mode gedumpt. Und ich geh davon aus, das oben links der erste Pixel ist. Unten rechts der letzte.
Die ersten 12 Bytes sind ja Header Infos. Aber wie muss ich danach weiter gucken?
Ich erwarte keine Musterloesung, eine kleine Erklaerung, wie ich die Pixel nun 1:1 Finde waere gut. Die Gegenproben mit dem Hexeditor ergab, das alle Pixel drin sind.(1280*800*4).
Oder ist das in Android anders geloest, und keine echten 1:1?
Irgendwas muss doch da im argen liegen. Falls ihr eine elagntere Art zum Pixelcolor lesen kennt, nur zu.
Ein schoenen Abend noch.
ich hab auch erste Schritte gewagt Richtung Android Programmierung.
Aber es hakt jetzt bereits, bei der einfachen Abfrage eines Pixelwertes.
Ich hole ein Screenshot einmal als png und einmal als RAW
adb shell screencap /sdcard/test.dump
adb shell screencap /sdcard/screen.png
Nach etwas rumfummeln auf den Raspberry Pi kam ich zu der hexdump Methode. (scheint wohl ein propates Mittel zu sein).
stringZ=$(dd if='test.dump' bs=4 count=1 skip=3 2>result.txt| hexdump); red=$(echo $stringZ | cut -d' ' -f2 | tail -c3); green=$(echo $stringZ | cut -d' ' -f2 | head -c2); blue=$(echo $stringZ | cut -d' ' -f3 | tail -c3); rgb="$red$green$blue"; echo $rgb;
Die Farbwerte passen auch mit dem, was im Hexeditor zu sehen ist.
Wenn ich jetzt aber das PNG oeffne, in Paint auf Max Zoom gehe und mit ein Colorpicker Tool oder auch die Paint eigenen Werte von Hand in Hex rechne passt garnix mehr.
Selbst der erste Pixel passt nicht.
Ich habe ein Galaxy Tab 2 mit Slimrom. Aufloesung liegt bein 1280*800. Ich verstehe dieses Rawformat nicht.
Screen wurde im Portraet Mode gedumpt. Und ich geh davon aus, das oben links der erste Pixel ist. Unten rechts der letzte.
Die ersten 12 Bytes sind ja Header Infos. Aber wie muss ich danach weiter gucken?
Ich erwarte keine Musterloesung, eine kleine Erklaerung, wie ich die Pixel nun 1:1 Finde waere gut. Die Gegenproben mit dem Hexeditor ergab, das alle Pixel drin sind.(1280*800*4).
Oder ist das in Android anders geloest, und keine echten 1:1?
Irgendwas muss doch da im argen liegen. Falls ihr eine elagntere Art zum Pixelcolor lesen kennt, nur zu.
Ein schoenen Abend noch.