9 5位操作(八) 單色螢幕上畫水平線

2021-07-04 09:49:09 字數 777 閱讀 2117

/**

* 功能:有個單色螢幕儲存在乙個一維位元組陣列中,使得8個連續畫素可以存放在乙個位元組裡。螢幕寬度位w,

* 且w可以被8整除(即乙個位元組不會分布在兩行上),螢幕高度可由陣列長度和螢幕寬度推算得出。

* 實現方法drawhorizontalline(byte screen,

int width,

intx1,

intx2,

inty),繪製從點(x1,y)

* 到點(x2,y)的水平線。

*/

/**

* 思路:使用screen[byte_pos]=0xff,一次設定一整個位元組。起點和終點剩餘部分的位,使用掩碼設定。

* @param screen

* @param width

* @param x1

* @param x2

* @param y

*/public static void drawhorizontalline(byte screen,int width,int x1,int x2,int y)

//建立用於線條起點和終點的掩碼

byte startmask=(byte) (1>>startoffset);

byte endmask=(byte) ~(1>>(endoffset+1));

//設定線條的起點和終點

if((x1/8)==(x2/8))else

if(endoffset!=0)

} }

預置位95總結

就是進的多少,主要靠光圈和快門控制 模式 自動 自適應環境選擇 快門優先 快門越慢,進光越多,畫面越亮,反之相反 低速快門拍慢物,高速快門拍運動 光圈優先 光圈越大,進光越多,畫面越亮,反之相反 光圈f值越小,光圈越大 亮度優先 亮度值越大,畫面越亮 增益補償 值越大畫面越亮,細節丟失越多,最大值1...

95 費解的開關(位運算列舉

你玩過 拉燈 遊戲嗎?25盞燈排成乙個5x5的方形。每乙個燈都有乙個開關,遊戲者可以改變它的狀態。每一步,遊戲者可以改變某乙個燈的狀態。遊戲者改變乙個燈的狀態會產生連鎖反應 和這個燈上下左右相鄰的燈也要相應地改變其狀態。我們用數字 1 表示一盞開著的燈,用數字 0 表示關著的燈。下面這種狀態 101...

9 5 額外的string操作

9.5.1 構造string的其他方法 略 9.5.2 改變string的其他方法 略 9.5.3 string搜尋操作 略 9.5.4 compare函式 略 cout在這個stod呼叫中,我們呼叫了find first of 參見9.5.3節,第325頁 來獲得s中第乙個可能是數值的一部分的字元...