Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Packed pixels example 8x8 1-bit -- striped in y axis */
- /*(4x4)
- 1111
- 2222
- 4444
- 8888
- */
- #include <stdio.h>
- const int pixmap[]={0x1,0x2,0x4,0x8,0x10,0x20,0x40,0x80};
- unsigned char xy[]={0xFF,0x81,0x89,0xFF,0xFF,0x89,0xC81,0xFF};
- void display(void)
- {
- for (int j = 0; j<8;j++)
- {
- for (int i = 0; i<8;i++)
- {
- if (xy[i] & pixmap[j])
- printf("*");
- else
- printf(" ");
- }
- printf("\n");
- }
- }
- unsigned char set_pix(int x, int y, unsigned char val)
- {
- int mask = pixmap[y & 7];
- val <<= ((y & 7));
- xy[x] &= ~mask;
- xy[x] |= (val & mask);
- }
- unsigned char get_pix(int x, int y)
- {
- int mask = pixmap[y & 7];
- return (xy[x] & mask)>>(y & 7);
- }
- int main()
- {
- display();
- set_pix(0, 5, 0xF0);
- display();
- printf("%d", get_pix(0,5));
- return 0;
- }
- /*********************************************************************************/
- /*********************************************************************************/
- /*********************************************************************************/
- /*Packed pixels example 8x8 1-bit -- striped in x axis */
- /* (4x4)
- 1248
- 1248
- 1248
- 1248
- */
- #include <stdio.h>
- const int pixmap[]={0x1,0x2,0x4,0x8,0x10,0x20,0x40,0x80};
- unsigned char xy[]={0xFF,0x81,0x89,0xFF,0xFF,0x89,0xC81,0xFF};
- void display(void)
- {
- for (int j = 0; j<8;j++)
- {
- for (int i = 0; i<8;i++)
- {
- if (xy[j] & pixmap[i])
- printf("*");
- else
- printf(" ");
- }
- printf("\n");
- }
- }
- unsigned char set_pix(int x, int y, unsigned char val)
- {
- int mask = pixmap[x & 7];
- val <<= ((x & 7));
- xy[y] &= ~mask;
- xy[y] |= (val & mask);
- }
- unsigned char get_pix(int x, int y)
- {
- int mask = pixmap[x & 7];
- return (xy[y] & mask)>>(x & 7);
- }
- int main()
- {
- display();
- set_pix(5, 0, 0xF0);
- display();
- printf("%d", get_pix(5,0));
- return 0;
- }
Add Comment
Please, Sign In to add comment