Hirdetés
- One mobilszolgáltatások
- Európába tart a Xiaomi Watch 5, eSIM-es verzió is jöhet
- Huawei P10 - pisztácia nem is volt
- Sokkal jobb ajánlat lett elődjénél az iPhone 17e
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 17 Ultra - jó az optikája
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Telekom mobilszolgáltatások
- MWC 2026: Ha itthon is kapható lesz, a Z Fold becsukhat
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
Új hozzászólás Aktív témák
-
thon73
tag
Úgy tűnik, mindig túlságosan elvarázsolt problémákkal találkozom...

Hátha mégis valaki beleütközik ugyanebbe, megválaszolom magamnak.
Megdöbbentő módon az Android valójában csak kétféle módon tudja a bitmap színeket kezelni: ARGB_8888 és RGB_565 kódolással. (Létezik, de nem javasolt az ARGB_4444. Létezik, de nem működik a getPixel() metódussal az ALPHA_8)
(((Nekem még nem okozott problémát, de a megjelenítés ált. RGB_565-tel történik, vagyis valahol az ARGB_8888 mindig átalakításra kerül.)))Egy "térképet" szerettem volna megrajzolni (ezért nem jó egy tömb) 512 különböző színnel. A szinek nem lényegesek, az viszont igen, hogy pont azt a színt "vegyem ki", amit a képbe belerajzoltam. A korlátozott hely miatt arra gondoltam, hogy valamelyik helytakarékosabb kódolást fogom választani.
Ez viszont egyáltalán nem egyszerű, mert a getPixel által visszaadott alapszínek(R,G,B) mindig 256 árnyalat terjedelműek lesznek - nem pedig a kódolással azonosak. Továbbra sem találtam metódust a "raw" színérték megszerzésére.ARGB_8888 alatt persze minden tökéletesen működik, hiszen itt minden alapszín 256 árnyalattal kódolt. Ehhez azonban dupla hely kell...
ARGB_4444 alatt az alapszinek 4 bit terjedelműek, vagyis 16 árnyalatuk van. Ha azonos színt akarunk visszaszerezni, akkor a szinek 4 bites értékét dupláznunk kell: 2->22 8->88 c->cc (hexában). Az ilyen, hexában azonos számjegyekkel bíró színeket megadva (pont 16 van) ugyanazt a színértéket kapjuk a getPixellel, mint amivel rajzoltunk.
Persze, semmi nem elég, nekem az RGB_565 kódolású rajzból kellett azonos színeket kiszednem. A source kód a dithering miatt elég elvarázsolt, nehéz kideríteni, hogy pontosan hogyan kódol, ill. sokkal összetettebben kódol, mint amire ehhez a feladathoz szükség van. Matematikailag a következő összefüggést találtam:
5 bites szinek - R és B, 32 árnyalat: setPixel( árnyalat * 8 + 5 ) beállítás után a getPixel() / 8 visszaadja az eredeti árnyalatot.
6 bites szín - G, 64 árnyalat: setPixel( árnyalat * 4 + 2 ) beállítás után a getPixel() / 4 szintén az eredeti árnyalatot adja vissza. ((Megjegyzem, az első 32 árnyalatra az előző összefüggés is működik))Bocs, ha valakit untattam ezzel, de nekem hosszas fejtörést okozott, hogy megtaláljam azokat a színeket, amiket beállítva ugyanazt az értéket kapom vissza. Megjegyzem, hogy több különböző alapszín árnyalatot ezek a kódolások nem is tudnak tárolni, az összes többi "bemeneti" szín ezen árnyalatok valamelyikére redukálódik.
Még annyit tennék hozzá, hogy amennyi info-t találtam, az Android ebben is elég egyedi. Vannak 565-888 színkódolás átalakítások, de mintha az android egyiket sem követné, hanem valami saját algoritmusa lenne.

Új hozzászólás Aktív témák
- Bambu Lab 3D nyomtatók
- Béta iOS-t használók topikja
- exHWSW - Értünk mindenhez IS
- One mobilszolgáltatások
- mefistofeles: Az elhízás nem akaratgyengeség!
- Európába tart a Xiaomi Watch 5, eSIM-es verzió is jöhet
- Gitáros topic
- Budapest és környéke adok-veszek-beszélgetek
- PlayStation 5
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- További aktív témák...
- X1 2-in-1 Gen10 14" FHD+ IPS érintő Ultra 7 268V 32GB 256GB NVMe aktív toll ujjlolv gar
- Prémium High-End Házimozi Szett Sony QS, Wharfedale Evo és Tannoy összeállítás
- ADATA Legend 860 2TB Gen4 X4 2280 M2 NVMe SSD / Beszámítás OK!
- Dell Pro 14 Premium PA14250 14" 3K OLED érintő Ultra 7 268V 32GB 512GB ujjolv gar
- 4 db Be Quiet Dark Power Pro 11 1000W 80 Plus Platium tápegység eladó!
- Hp Zbook 15 G5 15,6" FHD/ i7-8850H, 32GB, 512GB SSD, Quadro P2000- HUN / számla-garancia
- HP 255 G10 Ryzen 5 7520U 8 GB DDR5 256 GB SSD FHD Új 2 ciklus Gari 2028.
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AS USB-C Dock Gen2 (akár 3x4K felbontás)
- Apple iPhone 12 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 13 Pro 128GB Sierra Blue -1 ÉV GARANCIA -Kártyafüggetlen, MS3965
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



