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일 월요일

요즘 푸우의 생각

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

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

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



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

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

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

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

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

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

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

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


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

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

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

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


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


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


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

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

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

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

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

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