article search result of '2010/04' : 2

  1. 2010/04/26 bitmap 공식
  2. 2010/04/04 오랜만이다~~~~~~

bitmap 공식

Scanline = bitCount * width + (4-((bitCount * width)%4));
스캔라인 = 비트수 * 비트맵이가지고 있는 가로넓이 + (4-(비트수*넓이)%4)

위에 4-... 라는 것이 만들어진것은 비트맵 자체가 저장이 될때 4바이트 단위(DWORD)로 저장이 되기때문이다.

예를 들어서 24비트, 가로99, 세로 10의 사이즈를 가진다고 하면, 99 * 10 * 3(24/8한값임)의 바이트수를 가지는 값일거라 생각들 하지만, 실제로는 그렇게 가지지 않는다는것을 알수 있다.
가로99는 4단위로 저장을 한다고 가정을 하면, 4로 나누어서 딱 떨어지는 값이 나오질 않기때문에 이렇게 표현을 할수가 있다.

99 = 4 * 24 + 3

말 그대로 4바이트 단위로 저장을 했을때, 24번 저장이 되고, 3바이트가 남는다는것이다. 4바이트단위로 저장된다고 해서 3바이트를 버릴수는 없으니, 4* 24 + (3+1) 이 되어 버리고 필요없는 1바이트값이 더 생기는 것이다.
그래서 총 사이즈는 필요 없는 값 1바이트가 더 붙었으므로 1 * h 만큼 더 늘어나게 된다. 위의 공식에 잠시 대입을 해보자면...

3*99 + (4-((3*99)%4) = 297 + (4-1) = 300

한 라인이 가지는 실제 크기는 300 바이트가 되는것이다.
여기에 높이값만 곱해주면 실제 사이즈가 된다.
(같은 비트와 같은 높이라면 가로가 99나 100이나 같다는 소리다)

TotalSize = Scanline * height;


이올린에 북마크하기(0) 이올린에 추천하기(0)
2010/04/26 09:40 2010/04/26 09:40
Wind
프로그래밍 2010/04/26 09:40

오랜만이다~~~~~~

너무 오랜만에 글을 적게된다.
힘들다면 힘든 회사일인것 같다.
어두운 터널을 계속 통과하고 있는 느낌이랄까...
하지만 이렇게 계속 질질 끌려만 다닌다면, 정말 회사입장은 모르겠지만 내 입장에서는 그렇게 도움되는것이 없을것 같다.
힘내서!! 내가 하고 싶은걸 할수있도록 좀... 노력해봐야 할것 같다.
힘들겠지만~
너무 신경 써야 할것들이 산떠미처럼 쌓여있지만, 현실에 지친다고 마냥 으름장만 놓고 있어서는 안될듯...

boost, opengl, 3d-engine들, iphone, android, 디자인패턴 등등 관심사만 늘어난다.. ㅎㅎ

맘 같아서는 기댈곳이 있었으면 하지만.. 현실은 냉혹한법..~
이올린에 북마크하기(0) 이올린에 추천하기(0)
2010/04/04 23:41 2010/04/04 23:41
Wind
일상 2010/04/04 23:41
Powerd by Textcube, designed by criuce
rss