UWP C# 調用 C++/CX


創建一個UWP項目

然后創建一個通用C++運行時項目

右鍵點擊C++項目,添加一個C++類

在頭文件中定義一個類

#pragma once


namespace ImageFactoryRT
{
    public ref class ImageSRC sealed
    {
    private:
        Windows::Foundation::Collections::IVector<int>^ colors;
        int width;
        int height;
    public:
        ImageSRC();
        void LoadImageSRC(Windows::Foundation::Collections::IVector<int>^ mcolors, int mwidth, int mheight);
    public:
        // int = byte[A] byte[R] byte[G] byte[B]
        property Windows::Foundation::Collections::IVector<int>^ Colors
        {
            Windows::Foundation::Collections::IVector<int>^ get()
            {
                return colors;
            };
            void set(Windows::Foundation::Collections::IVector<int>^ s)
            {
                colors = s;
            };
        }
        property int Width
        {
            int get()
            {
                return width;
            };
            void set(int s)
            {
                width = s;
            };
        }
        property int Height
        {
            int get()
            {
                return height;
            };
            void set(int s)
            {
                height = s;
            };
        }
    };
    ImageSRC::ImageSRC()
    {
    }
    void ImageSRC::LoadImageSRC(Windows::Foundation::Collections::IVector<int>^ mcolors, int mwidth, int mheight)
    {
        this->Colors = mcolors;
        this->Width = mwidth;
        this->Height = mheight;
    }
}

在cpp文件中引入

#include "pch.h"
在UWP項目中引入C++項目

在UWP C#中就可以直接使用 C++中定義的類了

    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
            ImageFactoryRT.ImageSRC imageSRC = new ImageSRC();
            List<int> list = new List<int>();
            list.Add(3);
            list.Add(2);
            list.Add(1);
            imageSRC.LoadImageSRC(list, 3, 2);
            imageSRC.Width = 1;
            int h = imageSRC.Height;
        }
    }

 

這樣做的主要目的是 通過 [標准C++] ==> [C++/CX] ==> [UWP C#] 可以封裝 標准的C++類庫 來使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM