Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Farbmischung in 16Bit

Empfohlene Antworten

Veröffentlicht

Hallo @ Gruppe :D

Ich habe ein System vorliegen, daß unter 16-Bit-Farbtiefe laufen soll. in meiner Anwendung will ich Graustufen darstellen, die ich - der Einfachheit wegen - mit 16-Bit-RGB-Code generiere.

Kann es sein, daß ich unter 16-Bit Farbtiefe nur 32 Graustufen zur Verfügung habe?

... Weil, wenn R = G = B, dann entsteht grau ... und jeder dieser Werte kann 32 verschiedene Werte annehmen (5Bit pro Farbe) ... ist das richtig?

Danke für eure Aufmerksamkeit ;)

Joo,

Ich sehe das genauso wie du...

Diablo999

Danke :)

... schade - aber danke :D

Ja, im 15 oder 16bit modus gibts nur 32 graustufen. mit 2x2 dithering ließe sich das auf 128 erhöhen.

MfG, Michael

in etwa:



// input: x,y: pixel koordinate - gray: 0 = schwarz, 127 = weiß

void setgraypixel(int x, int y, unsigned char gray)

{

    char pattern[4][2][2] = 

    {{{0, 0}, {0, 0}},

     {{{1, 0}, {0, 0}},

     {{{1, 0}, {1, 0}},

     {{{1, 1}, {1, 0}}};


     unsigned char grayvalue = (gray >> 2) + pattern[gray & 3][x & 1][y & 1]; 

     if (grayvalue > 31) grayvalue = 31;


     setpixel(x, y, grayvalue, grayvalue, grayvalue); // zeichnet pixel and x,y mit der farbe r,g und b (jeweils bereich 0 bis 31)

}


Zählt man auch nur einzelne RGB-Werte hintereinander hoch fällt die Verfärbung aber auch nicht besonders auf und so kann man nochmal die Anzahl der Schattierungen um den Faktor 3 erhöhen. Dithering ist manchmal etwas unschön und fällt je nach Auflösung sicherlich mehr auf. Wenn man schon auf diese Arten rumtrickst, könnte man genausogut auch mit Interlacing arbeiten, aber wie gut sowas aussieht hängt auch sehr von der Monitorfrequenz ab. Es wäre sicherlich interessant mal alle Möglichkeiten parallel auszuspielen und das optische Ergebnis zu analysieren ... bisher habe ich noch nicht ein Demo o.ä. gesehen, das das versucht hätte (vielleicht kamen die 24-Bit-Modi bei den Grafikkarten dazu einfach zu schnell).

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.