.net — Как конвертировать CLI Image ^ в любое стандартное растровое изображение C ++

Я загрузил изображение JPG в Image^ объект, но теперь я хотел бы «вернуться» к использованию стандартного C ++ в моей программе, поэтому я хотел бы как-то преобразовать объект Image ^ в любой BMP class Object(Я не знаю, какой класс C ++ хорош).

Я хотел бы редактировать цвет отдельных пикселей в этом растровом изображении.

Пожалуйста, помогите мне сделать это.

   // a.cpp : main project file.

#include "stdafx.h"#include "Form1.h"#using <mscorlib.dll> //requires CLI
using namespace System;
using namespace System::IO;
using namespace System::Windows::Media::Imaging;
using namespace System::Windows::Media;
using namespace System::Windows::Controls;
using namespace a;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
// Enabling Windows XP visual effects before any controls are created
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);

// Create the main window and run it
Application::Run(gcnew Form1());// Open a Stream and decode a JPEG image
Stream^ imageStreamSource = gcnew FileStream("C:/heart.jpg", FileMode::Open, FileAccess::Read, FileShare::Read);

JpegBitmapDecoder^ decoder = gcnew JpegBitmapDecoder(imageStreamSource, BitmapCreateOptions::PreservePixelFormat, BitmapCacheOption::Default);
BitmapSource^ bitmapSource = decoder->Frames[0];//< --mamy bitmape
// Draw the Image
System::Windows::Controls::Image^ myImage = gcnew System::Windows::Controls::Image();  //<--- this image in the Form1  -------
myImage->Source = bitmapSource;
myImage->Stretch = Stretch::None;//CONVERT MYIMAGE INTO C++ BMP

return 0;
}

0

Решение

попробуйте Image.save метод. Там вы можете сохранить в файл или поток, и вы можете указать формат файла.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]