3

저는 Nokia Imaging SDK를 조금만 들려보고 있습니다. 이제는 이미 존재하는 Image (Visual Studio 솔루션 폴더에 있음)가 있고이 이미지를 변환하기 위해이 이미지를 변환하려고합니다. BlendFilter 클래스 Nokia Imaging SDK. 그러나 나는 그것을 어떻게 사용하는지 모른다.WP8에서 Nokia Imaging SDK의 BlendFilter를 사용하는 방법은 무엇입니까?

스트림의 기존 이미지를 변환 한 다음 BlendFilter 생성자에 매개 변수로 전달하려고했습니다. 하지만 운이 아니야. 컴파일러는 최상의 오버로드 방법 일치가 ... 잘못된 인수를 가지고 있다고 말합니다. 다음

Image image = new Image(); 
image.Source = new BitmapImage(new Uri("/Images/Template3.2.png", UriKind.Relative)); 

BitmapImage bitImage = new BitmapImage(new Uri("/Images/Template3.2.png", UriKind.Relative)); 

WriteableBitmap Bitmap = new WriteableBitmap(bitImage); 

그리고 :

var BlendFilter = new BlendFilter(bitImage, BlendFunction.Add); --> the compiler error is here 

사람이 BlendFilter 클래스를 사용하는 방법을 알고 있나요

이 내가 스트림에 기존의 이미지를로드하기 위해 노력하고있어 방법은? 모든 예제는 매우 도움이 될 것입니다.

감사합니다.

답변

5

블렌드 필터는 IImageProvider를 입력으로 사용합니다. 즉, X-ImageSource 클래스 중 하나를 입력으로 사용할 수 있으며 내부적으로 모든 작업을 수행합니다.

이미지 스트림이있는 경우 StreamImageSource를 만들어 BlendFilter에 전달하는 것이 좋습니다.

다른 이미지 소스 목록은 상당히 길기 때문에 설명서를 살펴보고 가장 적합한 이미지 소스를 선택하는 것이 좋습니다.

다음은 이미지 스트림을 입력으로 사용하고 그 위에 새 이미지를 블렌딩하는 예입니다. 단순화를 위해 다른 이미지는 하나의 색상으로 채워진 이미지 (ColorImageSource)이지만, IImageProvider를 소스로 설정할 수 있습니다. 가장 편리한 것을 선택했습니다.

using (var backgroundSource = new StreamImageSource(stream)) 
using (var filterEffect = new FilterEffect(backgroundSource)) 
{ 
    using (BlendFilter blendFilter = new BlendFilter()) 
    { 
     var size = new Windows.Foundation.Size(400, 400); 
     var color = Windows.UI.Color.FromArgb(250, 128, 255, 200); 

     blendFilter.ForegroundSource = new ColorImageSource(size, color); 
     blendFilter.BlendFunction = BlendFunction.Add; 

     filterEffect.Filters = new[] { blendFilter }; 

     var result = await new JpegRenderer(filterEffect).RenderAsync(); 
    } 
} 
+0

안녕하세요 데이비드, 덕분에 그 코드를 공유, 내가 제가 도와 @MikePR 다행 – MikePR

+0

찾던하는 방법을 파악하는 데 도움이! –