void ScreenShotToClipboard() { int windowWidth = v3d->GetCamera().width(); int windowHeight = v3d->GetCamera().height(); Bitmap ^bitmap = gcnew Bitmap(windowWidth, windowHeight); System::Drawing::Imaging::BitmapData ^data = bitmap->LockBits(System::Drawing::Rectangle(0, 0, windowWidth, windowHeight), System::Drawing::Imaging::ImageLockMode::WriteOnly, System::Drawing::Imaging::PixelFormat::Format24bppRgb); glReadPixels(0, 0, windowWidth, windowHeight, GL_BGR_EXT, GL_UNSIGNED_BYTE, data->Scan0.ToPointer()); glFinish(); bitmap->UnlockBits(data); bitmap->RotateFlip(RotateFlipType::RotateNoneFlipY); // 주석을 해제하면 파일로도 쓴다. //bitmap->Save("aa.bmp"); System::Windows::Forms::Clipboard::Clear(); System::Windows::Forms::Clipboard::SetImage(bitmap); }// 클립보드에서 그림을 읽어올때는 다음처럼 한다.
DataFormats::Format ^imageSample = DataFormats::GetFormat(DataFormats::Bitmap); // 이미지로 만들고 싶으면 다음처럼 System::Drawing::Bitmap ^b = gcnew System::Drawing::Bitmap(width, height); System::Drawing::Graphics ^g = System::Drawing::Graphics::FromImage(b);
재밌다 ^^