2013-05-29 3 views
0

Я программирую в Windows Visual C++, и я пытаюсь сделать определенный цвет прозрачным. Я задал этот вопрос раньше, но все, что я получил, было ответом, включая код C, а не C++/CLI. P.s Это приложение формы окна ... Я думаю, что предыдущий код, который я получил в качестве ответа, был похож на этот.Изготовление определенного цвета Прозрачный?

Цвет 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 assembly \ microsoft \ framework \ .netframework \ v4.0 \ system.windows.forms.dll: см. Объявление' System: : Windows :: Forms :: PictureBox ' –

+0

Вопрос не делает целую галочку смысла. Цвет прозрачный, когда у него есть альфа 0, фактический цвет больше не имеет значения, так как вы все равно его не видите. Если вы хотите сделать определенный цвет в прозрачном растровом изображении, используйте метод Bitmap :: MakeTransparent(). Вам нужно будет отбросить свойство PictureBox :: Image в Bitmap, чтобы получить ссылку на объект Bitmap. Используйте safe_cast <> в программе C++/CLI. –

ответ

0

Вы должны работать с самим изображением (System::Drawing::Image или System::Drawing::Bitmap), а не с компонентом Windows Forms, который отображает его.

+0

ошибка C2867: 'System :: Drawing :: Image': не является пространством имен –

+0

Это не пространство имен, это класс ref. В пространстве имен System :: Drawing в сборке System.Drawing. – Medinoc

+0

Итак, как мне его использовать? вы могли бы отправить пример кода? –

Смежные вопросы