Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сохранения внещнего вида контрола.

15K
08 апреля 2006 года
COPATHUK
7 / / 30.03.2006
Возникла проблема. Есть некий контрол с прозрачностью, требуется сохранить вид этого контрола в image или bitmap, не теряя прозрачность (те что бы сохраненная картинка содержала альфа компоненту контрола). Жедательно без выхода в Unsafe{}. Заранее спасибо.
273
09 апреля 2006 года
3A3-968M
1.2K / / 22.12.2005
Используем GDI+ метод для рендеринга твоего контрола:
Bitmap b = new Bitmap(100, 100);
button1.DrawToBitmap(b,
new Rectangle(0, 0, 100, 100));
pictureBox1.Image = b;
Сначала создаём битовую карту рисунка размером 100X100. button1 - обычная кнопка, вызываем метод DrawToBitmap и рендерим её в нашу битовую карту. Далее в контрол pictureBox1 размещаем битовую карту, которая содержит прорисовку кнопки. Если что-то непонятно, могу выслать полностью солюшн с этим примером.
15K
09 апреля 2006 года
COPATHUK
7 / / 30.03.2006
Цитата:
Originally posted by 3A3-968M
Используем GDI+ метод для рендеринга твоего контрола:
Bitmap b = new Bitmap(100, 100);
button1.DrawToBitmap(b,
new Rectangle(0, 0, 100, 100));
pictureBox1.Image = b;
Сначала создаём битовую карту рисунка размером 100X100. button1 - обычная кнопка, вызываем метод DrawToBitmap и рендерим её в нашу битовую карту. Далее в контрол pictureBox1 размещаем битовую карту, которая содержит прорисовку кнопки. Если что-то непонятно, могу выслать полностью солюшн с этим примером.



Может я чего не понял, но этот способ в Bitmap сохраняет и изображение под контролом. Мне нужна картинка с прозрачностью, для того что бы имитировать контрол. И без загрузки системы на перерисоввывание эмулировать перетаскивание. Те эта картинка прозрачно накладывалась на фон под ней не обязательно в том же месте где была снята.

Вообще я думал вызывать OnPaint(e), где e.Graphics = Graphics.FromImage(image) (image - то, куда я сохраняю), но при этом перерисовывется только сам контрол, а нужно что бы еще и дочернии эл-ты перерисовывались. Может кто подскажет как таким путем довести до желаемого результата.

273
09 апреля 2006 года
3A3-968M
1.2K / / 22.12.2005
Тогда рекомендую тему "Layered Windows: A New Way to Use Translucency and Transparency Effects in Windows Applications" по ссылке http://msdn.microsoft.com
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог