webForumDet fria alternativet

Bit djup ökar hur vid alpha?

Design & grafik

6 svar · 435 visningar · startad av hema80

Medlem sedan sep. 2004137 inlägg
Frågan#1

Små frågor om bitdjup och alphakanal. Det stämmer väl att en bild som är mer eller mindre transparant på vissa ställen har en till kanal som heter alphakanal? Tranparant går ju inte att blanda med R, G, B eller C, M, Y, K..... Då måste det bli en till kanal juh.

När det gäller filformat som stödjer "full" transparans, alltså lika många nivåer av tranparant som tex nivåer av en annan kanal, där ökar bitdjupet med 8? Betyder det då att en RGB-bild (24 bit) blir 32 bit? Och en CMYK (4 kanaler = 32 bit) blir 40 bit?

En GIF (8 bit) vilket enbart stödjer transparant/ej transparanta pixlar (alltså inte mer eller mindre transparant, såkallad full transparant) borde då öka bitdjupet med 1? En GIF med alphakanal får alltså bitdjupet 9?

Är det rätt eller är jag helt ute och cyklar?

Vidare undrar jag varför man säger att GIF är palettbaserad? Stämmer det inte att GIF plockar 256 toner ur RGB-spektrumet? Om du där emot jobbar med webbsäkrafärger, då blir det en egen palett!

Exempel: Bild med många likadana toner, tex blått vatten och blå himmel. GIF kan då plocka 256 blåa toner ur RGB spektrumet. Använder du den websäkra paletten (216 förutbestämda toner) då har du bara en handfull blåa toner att välja på.

Så vill jag ha det till i alla fall...

Medlem sedan aug. 20039 340 inlägg
#2

Du har helt rätt om att en 24-bitars RGB-bild utökas till 32-bitar när man lägger till en alpha-kanal. Det fungerar så att där alpha-kanalen=0 så syns det rakt genom den pixeln, där Alpha=128 så är det halvgenomskinligt, Alpha=255 ger en helt täckande pixel.
Jag vet inte precis hur detta fungerar med CMYK-kodning, men principen torde vara densamma.

Ang. GIF-bilder så skulle det vara ett enormt slöseri att använda 128 stycken olika värden till samma sak, nämligen en genomskinlig färg. Så därför så fungerar GIF istället så att en palett tillägnas genomskinlighet, och resterande 255 paletter används för färger.

Jag förstår inte din nästa fråga, men de webbsäkra färgerna har i mångt och mycket spelat ut sin roll eftersom de flesta har 24-bitars grafikkort idag.

Varför vill du ha det så? Då blir ju bilden grynig. Det är väl bättre att paletterna används på ett bra sätt? Det du dock kan göra i många grafikprogram är att du kan reducera antalet färger till färre än 256, kanske bara 64 om bilden innehåller många liknande färger.

Medlem sedan sep. 2004137 inlägg
#3

Ang GIF...

Ja man använder inte 256 nivåer till transparant, just för att det bara finns 2 nivåer av transparant. Istället för 8 bitar så använder man 1 bit (den biten är transparant/inte transparant. Ett/noll).

Jag förstår inte riktigt det där med palett? Man väljer att tex att FF0000 och 00FF00 ska vara transparant. Då blir dom ju transparant.

Men palett? Är RGB också en palett? Är CMYK en palett? GIF använder ju RGB-färg eller hur? Inom sitt bitdjup på 8. Den kan alltså plocka 256 toner från RGB-spektrumet, den är inte bunden till en egen palett.

Den webbsäkra paletten är en annan femma. Där har du 216 förutbestämda toner.

Ta exemplet med bilden med blå himmel och blått vatten igen. Kör du på vanligt vis så plockar GIF 256 blåa toner från RGB-spektrummet (drygt 16,7 miljoner färger=många blåa toner att plocka). Kör du webbsäkert så plockar GIF blå toner från den webbsäkra palettens 216 toner, vilket bara ger en handfull blåa toner.

Right?

Medlem sedan jan. 2004501 inlägg
#4

Asså gif är programerat så att man inte får n till kanal utan man väljer de färger som innebär transparans.

Medlem sedan sep. 2004137 inlägg
#5

aha på så vis.... Men vad det gäller färger så har jag rätt eller?

Medlem sedan juli 2004206 inlägg
#6

En 24 bitarsbild har varje pixel pekandes mot ett numeriskt färgvärde ur en skala på 16.7 miljoner färger.

En gif däremot har varje pixel pekandes mot en position i en palette, där paletten har har varje position pekandes mot ett färgvärde ur en skala på 16.7 miljoner färger....

Förstod du?

Tex för att illustrera en 24bits bild:

pixel1 -> ff0032
pixel2 -> 04e3e3
pixel3 -> 000000

etc..

För en gif så blir det först en palette:

Palette pos1: ff0032
Palette pos2-> 04e3e3
Palette pos3-> 000000

etc...

sedan så blir själva gif bilden:

pixel1 -> Palette pos1
pixel2 -> Palette pos1
pixel3 -> Palette pos45
pixel4 -> Palette pos72

etc...

Medlem sedan sep. 2004137 inlägg
#7

I see....

Tack så mycket

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)