2010년 6월 21일 월요일

3D Webbrowser

프로그램 안에 웹 브라우저 기능을 넣어야 하는 일이 있습니다. 근데 다음의 기존 웹 브라우져들의 기능이 영 시원치 않아서 다른걸 찾아보았습니다.

 

  •  System.Windows.Forms.Control.WebBrowser
    닷넷에서 웹브라우저를 사용하기 위해서 사용할수 있는 브라우져 입니다. IE를 호스트 하여 만들어져 있습니다.
  •  System.Windows.Control.WebBrowser
    위 윈폼 브라우저를 WPF에서 사용하기 쉽게 하기 위해서 3.5 부터 지원하는 브라우져라 합니다.
    하지만 위 브라우저를 WPF용으로 만든것 이상도 이하도 아닙니다.

위 2개는 비주얼 캡쳐도, 위치 변형도 안되는 그런 컨트롤이라

 

그래서 발견한것이 아래 링크의 컨트롤입니다.

http://chriscavanagh.wordpress.com/2009/08/25/a-real-wpf-webbrowser/

 

그냥 집어넣고 크기 변경하고 회전시키고 변형시키는거 모두 다 되네요 ㅋㅋ



게다가 3D 효과도 ㅋㅋ


 

배경 투명도 ㅋㅋㅋ


 

 

터치가 될런지 모르겠지만;;; 조금 손보면 괜찮을지도?

 

 

 

 

 

 


이 글은 스프링노트에서 작성되었습니다.

2010년 6월 19일 토요일

VisualBrush와 RenderTargetBitmap

 

WPF에서 쓰이는 화면에 보이는 UIElement들은 제 각각 Visual 이라는 객체를 상속받아 만들어지는데 이들은 스스로 자신을 화면에 그릴수 있는 기능이 있다. 따라서 Visual의 이 기능을 이용하여 다음과 같이 재밌는 일을 할수 있다. (미리보기등을 이러한 방법으로 만들수 있다.)

 

Clone 화면 만들기

VisualBrush를 이용하면 Visual의 화면 이미지를 실시간으로 복제하여 Brush를 필요로 하는 위치에 그려주게 된다. 내부적으로 브러시의 원본 객체의 surface 를 복제함으로서 이루어진다.

 

 

  1. VisualBrush brush = new VisualBrush(this.DrawingCanvas);
  2. Rectangle rect = new Rectangle();
  3.  
  4. rect.Width = this.DrawingCanvas.ActualWidth;
  5. rect.Height = this.DrawingCanvas.ActualHeight;
  6. rect.Fill = brush;

    Window wd = new Window();
  7. wd.Content = rect;

 

 

마치 클론 화면을 쓰는 것처럼 쉽게 복제된 화면을 여러개 만들수 있다. 원본 화면에서 뭔가 일어나면 다른 화면에서도 똑같이 발생한다.



화면의 특정부위 스샷찍기

화면을 복제하는 것보다, 그때 스샷을 찍고 싶을때가 있다. 특히 원하는 컨트롤 또는 부위에 대해서. 이런때엔 RenderTargetBitmap을 이용하면 간단히 해결된다. 이때엔 별도의 Bitmap이미지를 생성한후 객체의 Visual 화면을 BitBlt 하여 복제한다. 단, 이때엔 새로만들어지는 비트맵의 색상 또는 dpi를 지정해 줄수 있는데 이를 이용하여 성능을 조절할 수 있다.

 

 

  1. RenderTargetBitmap rtb = new RenderTargetBitmap((int)this.DrawingCanvas.ActualWidth, (int)this.DrawingCanvas.ActualHeight, 100, 100, PixelFormats.Default);
    rtb.Render(this.DrawingCanvas);

    Window testWin = new Window();
    testWin.Width = this.DrawingCanvas.ActualWidth;
    testWin.Height = this.DrawingCanvas.ActualHeight;
    (testWin.Content as Image).Source = rtb;

    testWin.Show();

 

 

현재 화면을 복제하고, 원본 화면이 바뀌더라도 현재 화면을 유지한다.

 

 

 

 

이 글은 스프링노트에서 작성되었습니다.

2010년 6월 14일 월요일

요즘 푸우의 생각

요즘 제 몸이 안좋다는 걸 알게 되었어요.

그 전까지는 저의 일상이 뻔하다고 생각했습니다.

저의 일상은 이런 느낌 이었습니다. 출근하는 제 표정이 바로 저 여성분의 표정이었어요.



현재 공부를 하고 있지만 언젠가 취업을 할테고,

돈을 벌다가 결혼을 하고, 아이를 낳고 아이를 키우고, 직장에서 시달리다가 언젠가 직장을 그만두고,

쪼글쪼글 늙어가다가 죽는 것입니다. 물론 가끔 여행을 가거나 재밌는 일이 있긴 하겠지만요.

그래서, 인생이 재미없다고 생각했습니다. 지루하게 여겨졌어요.

그런데 아픈걸 알고나서, 제가 짧은 시간 내에 죽을 수도 있단 걸 알고나서, 아쉬움이 몰려왔습니다.

부모님과 동생들과 많은 시간을 보내지 못한 것, 남자친구인 불곰씨, 그리고 사랑하는 고등학교 친구들과

추억을 많이 만들지 못한 것이 가장 아쉬웠습니다.

늘 제 곁에 있을 것 같은 사람들이, 그렇지 않을 수도 있다는 걸 새삼 깨달은 거지요.


그리고 또 한가지, 논문을 많이 쓰고 싶어졌습니다.

세상에서 제가 사라지더라도, 저의 논문은 남아있으니까요. (사람은 죽어서 이름을 남긴다지요?)

제가 모르는 사람도 저의 논문을 보고 도움 받을 수도 있고,

저라는 사람에 대해 한번쯤 상상할 수도 있으니까요.


그리고 마지막으로, 가슴 깊숙이에서 행복을 느끼고 싶어요.


요즘엔 그런 일이 적었거든요. 이런걸보고 찌든거라고 하죠?


'행복하지 않다'고 생각하는 나 자신과 싸워 이기고, '행복한 나'를 많이 실현해야 합니다.

그러면 내 속에 있는 행복이, 자아가 자라나고, 그것은 내가 어른이든, 아이이든, 할머니이든,

마음만 먹으면 계속 자라나게 할 수 있습니다. 반대로 관심을 주지 않으면 시들고, 어느순간 흔적도

찾기 어렵지요. 요즘 제가 그런 상태였어요.

마음 속 행복을 잘 키우는 방법을 아는 것, 그런게 진정한 연륜이 아닐까요?

아픈 것도 좋을 때가 있다는 것을 느끼는 푸우였습니다.

2010년 5월 20일 목요일

HTC의 Windows 7 Phone ROM 유출?

HTC에서 유출된 Phone ROM에 windows 7 Phone OS로 보이는 데이터가 담겨 있었답니다. 이걸로 봐서 올 하반기엔 HTC에서 Mondrian 등의 차기 단말로 Windows 7 Phone이 등장할 확률이 높아졌군요. 다른 제조사의 행보가 주목됩니다. (LG에서 해외를 대상으로 Windows 7 Phone을 샘플로 선보였다고 하는데... 자세한건 두고봐야겠죠?)

 

http://www.engadget.com/2010/05/17/htc-mondrian-with-1-3ghz-snapdragon-detailed-in-leaked-windows-p/

 

 

Blend & Windows 7 Phone 동영상 한점.

 

Microsoft Blend로 App을 만드는 방법에 대한 90초 짜리 동영상입니다.

간단해보이는군요... 시간나는대로 바로 해서 포스팅 해보겠습니다.

개인적으로 이제부터 화면전환이용이 가능하다는게 좋군요.

 

Get Microsoft Silverlight

2010년 5월 18일 화요일

트위터 케이스스터디: 베스트바이

베스트바이 (Best Buy)는 트위터(Twitter)를 통해 고객 응대를 적극적으로 하는 기업 중 하나입니다. 재미있는 것은 베스트바이의 모든 지원이 고객 응대를 할 수 있다는 점이지요.


다음은 베스트 바이의 프로모션 광고입니다. 엉뚱한 질문도 답을 한다는 점이 재미있네요.

Innov8 경영시뮬레이션

IBM에서 만든 Innov8이라는 경영 시뮬레이터가 있습니다. 2007년에 발표되었는데요, 3D에 롤플레잉 게임 형식이라는 점이 흥미롭습니다. 사내 교육 뿐만 아니라 IBM이 밀고있는 BPM, SOA를 학생들이 간접적으로 체험할 수 있는 장점이 있습니다.


게임 속 시나리오는 크게 3가지 입니다. Smarter traffic, smarter customer service, smarter supply chain. IBM의 표제인 'Smarter Planet'과 일치하네요. Smarter traffic는 교통 구조 개선, smarter customer service는 고객 대응 서비스 개선, smarter supply chain은 물자 공급 라인을 효율적으로 하는 것입니다.


설치나 로긴이 (게임을 이어서 하지 않는다면) 필요없고 생각보다 재밌습니다. 기본 게임 방법은 문제를 발견하고, 프로세스를 개선하고, 그 결과를 보는 것입니다.


인력 배치 시뮬레이션



결과 피드백 (KPI와 보스의 말)



시뮬레이션 결과 (KPI, 보스의 말, 시각적 효과)




실제 경영과는 달리 결과가 바로 나오고 매우 시각적이기 때문에 재밌습니다. 숫자 보단 사람들의 말을 이해하고 그것을 경영 프로세스에 반영해야 하기 때문에 (롤플레잉이 그러하듯) 게임 속 등장인물의 말을 유심히 들어야 합니다. 영어의 미묘한 늬앙스 차이 때문에 좀 헷갈리기도 했습니다.


원래는 게임 속 공간을 돌아다니며 다른 가상 캐릭터와 만나고 대화할 수 있다고 하는 데 그것 까진 하지 않았습니다. 경영 프로세스에 관심이 있다면 한번씩 해보시는 걸 추천합니다.



다음은 Innov8 트레일러입니다. 영화 트레일러 같아 재밌네요. ^^



다음은 IBM의 Innov8 소개글입니다.

INNOV8은 인터랙티브, 3-D 비즈니스 시뮬레이터로서, 비즈니스 프로세스 관리의 기초를 가르치고, 한 조직 내의 비즈니스 리더와 IT 팀들간 이해의 차이를 좁히기 위해 기획되었습니다. 이러한 유형의 다소 진지한 게이밍 – 게임의 룩앤필을 갖고 있지만, 비즈니스 오퍼레이션 같은 게임이 아닌 이벤트 또는 프로세스를 다룸 - 은 학생들과 사원들을 교육하고 새로운 기술을 개발할 수 있는 성공적인 방식으로 대두되고 있습니다.


IBM은 학생을 위한 프로그램 (소프트웨어 뿐만 아니라 교육도) 을 많이 신경씁니다. IBM에서 주최하는 공모전을 보면 IBM이 당장 쓸 수 있는 기술 보다는 학생이 즐겁게 참여할 수 있도록 배려한다는 것이 느껴집니다. 학부 때 IBM에서 하는 교육을 받아서 인지 IBM이 하는 것은 뭐든 긍정적으로 생각됩니다. 하하.