2013-05-29 51 views
0

我在windows visual C++中进行编程,我试图使一个特定的颜色透明。我以前曾问过这个问题,但我得到的答案仅仅是C代码,而不是C++/CLI。 P.s这是一个窗体应用程序... 我认为我收到的作为答案的前面的代码与此类似。制作指定颜色是否透明?

Color pixelColor = myBitmap.GetPixel(1,1);

但这是C代码...不是C++/CLI。你如何让一个PictureBoxes图像有一个透明的颜色?

+0

C++大多是C的超集,而C++/CLI大多是C++的超集。你显示的代码片段没有问题,那么你的*真实*问题是什么? –

+0

我得到这个错误... 1> c:\ users \ devon \ documents \ visual studio 2010 \ projects \ retaliation \ retaliation \ Form1.h(467):错误C2039:'GetPixel':不是'System :: Windows :: Forms :: PictureBox' 1> c:\ program files(x86)\ reference assemblies \ microsoft \ framework \ .netframework \ v4.0 \ system.windows.forms.dll:参见'System: :Windows :: Forms :: PictureBox' –

+0

这个问题并没有形成一个完整的意义。一个颜色在alpha为0时是透明的,因为无论如何你都看不到它,所以实际的颜色不再重要。如果你想在透明位图中制作一个特定的颜色,那么使用Bitmap :: MakeTransparent()方法。您需要将PictureBox :: Image属性转换为Bitmap以获取对Bitmap对象的引用。在C++/CLI程序中使用safe_cast <>。 –

回答

0

您必须在图片本身上工作(System::Drawing::ImageSystem::Drawing::Bitmap),而不是显示它的Windows窗体组件。

+0

错误C2867:'System :: Drawing :: Image':不是一个命名空间 –

+0

它不是一个命名空间,它是一个ref类。在System :: Drawing命名空间中的System.Drawing程序集中。 – Medinoc

+0

那我该如何使用它?你能发布一个示例代码吗? –