[英]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.