簡體   English   中英

UWP 中的 System.Windows.Media

[英]System.Windows.Media in UWP

最近寫了一個WPF程序來檢測圖片中的人臉。 該程序使用 ProjectOxford 的 API 之一,稱為 FaceAPI。 然后我想到了將我的應用程序從 WPF 移植到 UWP(通用 Windows 平台)的想法。 但是,在開發過程中,我遇到了 System.Windows.Media 命名空間的問題。 在我的 UWP 應用程序中,我沒有這樣的命名空間,因此我無法訪問所有包含的類,例如 DrawingVisual、DrawingContext 等。

這是來自 WPF 的有問題的代碼塊,需要移植到 UWP:

if (faceRects.Length > 0)
{
    DrawingVisual visual = new DrawingVisual();
    DrawingContext drawindContext = visual.RenderOpen();

    drawindContext.drawimage(bitmapImage,
        new Rect(0, 0, bitmapImage.Width, bitmapImage.Height));

    double dpi = bitmapImage.DpiX;
    double resizefactor = 96 / dpi;

    foreach (var facerect in faceRects)
    {
        drawindContext.drawrectangle(
            Brushes.transparent,
            new Pen(Brushes.red, 2),
            new Rect(
                faceRect.Left * resizefactor,
                faceRect.Top * resizefactor,
                faceRect.Width * resizefactor,
                faceRect.Height * resizefactor
            )
        );
    }

    drawindcontext.close();

    rendertargetbitmap facewithrectbitmap = new rendertargetbitmap(
        (int)(bitmapsource.pixelwidth * resizefactor),
        (int)(bitmapsource.pixelheight * resizefactor),
        96,
        96,
        pixelformats.pbgra32);

    facewithrectbitmap.render(visual);

    facephoto.source = facewithrectbitmap;
}

任何想法如何替換它?

UWP 使用一組新的命名空間——其中大部分都帶有 Windows.* 前綴,這與 WPF 的 System.* 前綴形成對比,盡管 UWP 和 WPF 都使用了 System.* 命名空間。 這是新命名空間的鏈接 您可能還想閱讀通用 Windows 平台應用指南,以更好地掌握 UWP 基礎知識。

如評論部分所示,您需要的是一個以 Windows.* 開頭的命名空間,並且提供的鏈接應該會讓您正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM