모바일 3D 그래픽스 출간

드디어 책이 출간되었습니다. 그제 출간되었다는 연락을 받았을 때는 매우 기뻤는데, 또 막상 출간된것을 확인하고 보니 좋습니다. 아마 처음으로 번역이라는 것을 해봐서 그런지 출간까지의 소소한 과정들이 여러가지 큰 기분으로 다가서는 듯 합니다.

사용자 삽입 이미지

이번에 구글 안드로이드 폰이 국내에 출시되면 구입하려고 벼르고 있습니다. 모토롤라에서 모토로이라는 안드로이드 OS가 탑재된 폰이 2월 초부터 판매된다고 하니… 이미 2년 약정기간이 지난 제 폰을 바꿀 수 있을듯합니다.

안드로이드 폰 쪽으로  개발에 시간을 내 해보려고 하는데요. 그에 대한 연장선으로 모바일에서 3D 그래픽을 적용해 볼 수 있을 듯합니다.

참고로 아이폰이나 Windows Mobile에서도 OpenGL ES를 지원하니 이 책의 내용을 적용해 3D 그래픽을 적용할 수 있습니다. 관심있으신 분들은 살펴보시기 바랍니다.

[C#] 동적 Bitmap 생성

.NET에서 C# 코드로 비트맵을 생성하고 생성한 이 비트맵에 원하는 그래픽 요소를 그린 후 스트림에 전송하는 방법에 대한 정리입니다. 매우 간단한 내용이지만 그래픽에 대해 관심이 많은 개발자로써 천천히 정리해 봤습니다.

int w = 100;
int h = 100;

Image img = new Bitmap(w, h);
Graphics grp = Graphics.FromImage(img);

위의 코드는 100×100 크기의 비트맵 이미지를 생성하고 이 이미지에 그래픽 요소를 그리기 위한 Graphics 클래스의 인스턴스와 바인딩 합니다. 이제 Graphics 클래스의 인스턴스 변수인 grp를 이용해 우리가 원하는 그래픽 요소를 그릴 수 있습니다. 아래는 간단하게 선을 그리고 파일로 저장하는 코드입니다.

grp.DrawLine(Pens.Aqua, 10, 10, 90, 90);
img.Save("d:/a.bmp");

저장된 파일은 아래와 같습니다.

그림을 살펴보면.. 그래픽 객체로 직접 선을 그린 픽셀을 제외하고 나머지 픽셀들은 모두 투명이라는 것을 알 수 있습니다. 그리고 아래의 코드는 비트맵 이미지를 구성하는 픽셀 하나 하나에 대한 색상 정보를 가져올 수 있는 힌트를 제공하는 코드입니다.

Bitmap bmp = img as Bitmap;
Color clr = bmp.GetPixel(10, 10);
MessageBox.Show(clr.ToString());

MessageBox를 통해 Color타입의 clr을 toString 매서드를 통해 얻은 값은 아래 그림과 같습니다. 자바와 같이 C# 역시 모든 객체에 대해 toString() 매서드를 제공하여 자신에 대한 정보를 사용자가 읽어 파악할 수 있는 문자열 형태의 값을 제공하고 있습니다.

사용자 삽입 이미지
끝으로 픽셀값을 Color 타입으로 가져오고 있습니다. Color는 퍼포먼스를 위해서 클래스가 이난 구조체 타입으로 선언되어 있습니다.

말하는 시계… 요게 몇년도에 맹근거냠… -_-;

잠시 인터넷 탐색을 하던 중에.. 개인적으로 경악스러운 프로그램을 발견했습니다. “말하는 시계”..! 델파이.. 라는 언어를 한창 공부하고 공부차원에서 자잘한 프로그램 만들던 대학생때.. 그때가 97년인가.. 98년인가.. 아마 98년인듯합니다.

네.. 제가 그때 만든 프로그램이 2010년까지 살아서 사용되고 있다는 것을 알았습니다. 혹시나 해서 말하는 시계로 검색해보니… 몇몇 블로그에서 소개를 해주시고 있네요.. 이런 감사할 일이…. 보답을 어찌 해드려야 할지.. ㅠ_ㅠ 근데 참으로… 신기합니당.. 감회도 새롭구….

또 이런 일도 있었습니다.. 제가 델파이로 만든 퍼즐 게임.. 비루스(ViRus)라는 프로그램이 있었는데.. 그 당시 천리안에 소스까지 올렸더랬는데.. 언제 보니 델파이 책에 그 프로그램 소스가 실렸더군요.. 델파이 학습용 샘플 프로그램으로써 말입니당.. 델파이에 대한 추억이 생각나네요… 참 좋아라 했던 개발툴이였는데…………

사용자 삽입 이미지

여하튼~ 이거 제가 만들었시유~~ ^^* 라고 자랑질을 해봅니당.. 제작자에 관하여를 보니.. 제 닉네임이.. jackass였군요. 당나귀.. 바보.. 촌놈이라는… 세상 순수하게 살겠다는 의지를 불태우던 시절이였죠.. 한국 토목의 세계 전산화 일류를 꿈 꿨던…….! 내가 이런 꿈도 꿨나?? ^^; 암튼 멋진 놈이였군요.. ㅎㅎ

어제 오전 11시에 출근해서 오늘.. 그러니까 지금 시간(아침 6시 10분)까지 사무실에서 작업를 했습니다. 정말 모처럼이군요.. 가능한 철야나 야근을 하지 않는다는 주의로써… 이런 작업 방식도.. 나쁘지 않다라는 불길한 생각이 듭니다. 이제 퇴근해야겠습니다……..

[GIS] Xr로 만든 지도 이미지 세번째..

오랜만에…. 현재 작업하고 있는 Xr 맵엔진에 대해 소개합니다. 아래의 지도 이미지는 SHP 파일들로 구성된 지도 이미지입니다. 이미지를 클릭하면 원래 크기로 보실 수 있습니다.

사용자 삽입 이미지
이 지도 이미지는 Xr 맵 엔진으로 만든 BeautifyMap이라는 디자인 툴로 만들어졌습니다. BeautifyMap은 사용자가 원하는 스타일의 지도를 디자인하기 위한 툴로써 사용자가 지정한 타일의 크기(일반적으로 256×256 픽셀이며 BeautifyMap에서 자유롭게 크기를 지정할 수 있음)의 격자 이미지로 잘라서 지도 서버 FTP에 자동으로 올려주는 툴입니다.

구글이나 네이버 그리고 다음에서 서비스하는 맵에서 볼 수 있는 세련된 지도 스타일을 간단하게 구성할 수 있는 툴입니다. BeautifyMap은  RIA 기술을 이용한 맵 솔루션을 구성하는 3가지 요소 중에 하나입니다. 일정상으로는 이번달까지 마무리하기로 되어 있어 있습니다.

지도 이미지를 살펴보면… SHP 레이어와 색상과 텍스트만으로 꾸며진 것을 볼 수 있는데요. 여기에 세련된 아이콘 이미지를 사용하면 훨씬 멋진 스타일의 지도가 연출되리라 생각합니다.