C # - прозрачность не рисуется должным образом (достаточно быстро) - PullRequest
0 голосов
/ 25 ноября 2010

это мой первый вопрос на этом сайте, но в прошлом он мне очень помог.

У меня небольшая (но раздражающая) проблема с проектом, над которым я работаю. Я использую элемент управления Picturebox, который загружает файл PNG с прозрачными областями. прозрачная часть работает отлично, но мне нужно, чтобы пользователь мог перетаскивать эту картинку с помощью мыши. Picturebox содержится внутри панели с квадратами. квадраты отрисовываются в переопределенном методе OnPaint панели.

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

Я приложил картинку, чтобы вы могли лучше понять, что я пытаюсь сказать. в этом примере я использую только строку вместо реальной картинки, которую я буду использовать, чтобы все было более очевидно. обратите внимание на квадраты вокруг линии, которые нарисованы неправильно.

http://s1084.photobucket.com/albums/j405/headbanging1638/?action=view&current=problem.jpg

ps: я использую color.transparent для заднего цвета окна рисунка

Ответы [ 2 ]

0 голосов
/ 25 ноября 2010

Мне кажется, довольно похожая проблема, которую я задал некоторое время назад.

См. Мой Вопрос и Ответ, который я принял. Я думаю, что это поможет вам.

0 голосов
/ 25 ноября 2010

Может быть, вы могли бы попытаться сделать недействительным макет при перемещении мыши, чтобы ускорить перерисовку?

...