Я искал альтернативный способ рисования индикаторов выбора для визуальных объектов (например, выделенные ребра, линии и т. Д.) без использования ControlPaint.DrawReversibleFrame
и соответствующего XOR методы. Причинами этого являются нежелательные XOR-иные "артефакты", обратимость, не применимая к растровым изображениям, отсутствие контроля над фактическим визуальным видом и медлительностью.
С другой стороны, я хочу избегать перерисовки всей сцены (на самом деле карта), если пользователь решит, что хочет отменить выбор объекта или двух, потому что перерисовка может быть довольно дорогой.
Таким образом, единственная альтернатива, которую я вижу, - это реализовать некоторую базовую логику рисования непосредственно на Bitmap
, но с сохранением предыдущего содержимого пикселей до их изменения. Тогда (теоретически) я смогу повторно применить старое содержимое, скажем, выбранного прямоугольника ребра, если пользователь решит отменить выбор этого ребра.
У меня вопрос: считаете ли вы, что это хорошая идея, или вы видите другие альтернативы моей проблеме (в рамках GDI +)?
Заранее спасибо