2013-05-11 2 views
0

표준 Inkcanvas 응용 프로그램이 있습니다. 표준 애플리케이션은 Figure 1.과 같은 모든 응용 프로그램 코드 (XAML)는 여기에 있습니다 :wpf inkcanvas 브러시 스타일

<Window x:Class="WpfApplication18.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525"> 
<Grid> 
    <InkCanvas> 
     <InkCanvas.DefaultDrawingAttributes> 
      <DrawingAttributes x:Name="attribute" Width="40" Height="40" Color="BlueViolet" /> 
     </InkCanvas.DefaultDrawingAttributes> 
    </InkCanvas> 
</Grid> 

내가 이미지와 비표준 Inkcanvas 브러쉬 만드는 방법 궁금 같이 (이미지 마스크?) : Figure 2. Inkcanvas와 간단한 "배경"이미지 (jpg, png 또는 기타)을 사용하여 페인트하고 싶습니다. 그것을 만드는 간단한 방법이 있습니까? 코드 예제를 줄 수 있습니까? 내 응용 프로그램에서

나는 표준 Inkcanvas에 페인트하려는 그 후이 그림 2. 뭔가를 달성하기 위해 Inkcanvas 선택을 변환 (버튼 클릭 후?)

답변

0

간단한 방법은 없습니다 잉크는 스트로크를 지원하기 때문에 솔리드 컬러.

사용자 정의 캔버스를 만드는 것이 더 쉬울 수도 있습니다. paint on with an ImageBrush 잉크 캔버스의 전체 복제본을 만들고 싶다면 많은 작업이 필요하지만 그렇게 할 수 있으면 좋을만큼 좋을 수도 있습니다. 몇 줄을 그리시오.

inkcanvas 아래에 이미지를 놓고 inkcanvas에 투명한 색으로 페인팅하는 방법을 생각했지만 inkcanvas의 배경을 투명하게 만들지 않습니다.

0

오래된 스레드이지만, 여전히 this sample at MSDN을 지적하고 싶습니다.

NET 4.0 + VS 2010 + Windows 7 x64에서 확인한 결과 (image처럼) 정상적으로 작동합니다. 그것은 OP가 요구 한 것과 정확히 같다.

InkCanvas에서이 작업을 수행하기 위해 DynamicRenderer (msdn.microsoft.com/en-us/library/vstudio/system.windows.input.stylusplugins.dynamicrenderer(v=vs.100).aspx)를 사용합니다. 추가 처리없이.

는 InkCanvas (msdn.microsoft.com/en-us/library/vstudio/system.windows.controls.inkcanvas(v=vs.100).aspx)로 할 수있는 일부 추가 사용자 지정이 있습니다

(msdn.microsoft.com/en-us/library/vstudio/ms752076(v=vs.100).aspx)
  • 사용자 정의 렌더링 (msdn.microsoft.com/en-us/library/
    • 잉크 처리 vstudio/ms747347 (v = vs.100) .aspx)
    • 추가 샘플 (msdn.microsoft.com/en-us/library/vstudio/aa972145(v=vs.90).aspx).

    감사합니다.