位元平面
因為要取出顏色的各個(1~8)位元的數值,我嘗試了好久才試出不用去做麻煩的二值轉換跟轉16進制問題。
這個方法就是pow(((r>>0~7)&1)+1,8)-1 只要這樣就可任意切某位元的值出來再去做運算,如此一來可以省下很多轉換來轉換去的問題。這程式碼的運作方法為如果說r=255來說,轉成二進制就是11111111,如果要取最高位元,就把它>>7,就變成00000001,然後&1就是把00000001,給取出,之後做+1再做八次方運算就得到了256,但是因為超過了255所以必須減一,其餘的位元就依此類推,則可取得8個位元。
沒有留言:
張貼留言