2016-10-24 5 views
-2

Итак, я пытаюсь нарисовать изображение с помощью консольного приложения CLR, используя библиотеку .NET. Я нашел этот код на https://msdn.microsoft.com/en-us/library/dbsak4dc(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2, но я не знаю, какие аргументы я должен использовать для запуска функции DrawMyImageC++ console draw image

using namespace System; 
using namespace System::Drawing; 
using namespace System::Windows::Forms; 


void DrawMyImage(PaintEventArgs^ e) 
{ 
    Image^ newImage = Image::FromFile("picture.png"); 

    int x = 100; 
    int y = 100; 
    int width = 350; 
    int height = 450; 

    e->Graphics->DrawImage(newImage, x, y, width, height); 
} 

int main(array<System::String ^> ^args) 
{ 
    DrawMyImage(); 

    return 0; 
} 

Если есть любой другой простой способ для отображения изображений из консольного приложения, не стесняйтесь сказать.

+0

Где вы ожидаете от этого визуализации? На данный момент вы смешиваете приложения консоли/форм. – Caramiriel

+0

Это не относится к тегу 'C++' (поскольку он вовсе не о стандартном C++). Это должно быть 'C++ - cli' или подобное. – drescherjm

+0

Я не уверен, новое окно с этим изображением или изображением в консоли (не думаю, что это возможно). Я хочу сделать какой-то дисплей, который показывает консольные выходы более холодным способом, а затем просто текст. – Goliat

ответ

1

То, о чем вы просите, не имеет смысла: консольное приложение по определению работает в окне консоли. (Это же окно, как если бы вы запускали cmd в Windows.) Вы можете выводить текст там, больше ничего.

PaintEventArgs - это имя класса аргументов событий в WinForms. Он используется в приложении WinForms, а не в консольном приложении. Нет консольного API, который предоставит вам объект такого типа, и вы не сможете построить тот, который будет делать то, что вы хотите.

Если вы хотите нарисовать изображение, используя WinForms, сделайте приложение WinForms. И I высоко рекомендую вам перейти на C# для этого: C++/CLI не предназначен как основной язык разработки; он предназначен для связывания кода C# и C++. Вы облегчите себе задачу, если вы перейдете на C# для этого.