Вопрос : Зона BitBlt visble

Я создавал применение чертежа видов, обычно когда потребитель (я) делает рисовать стандарта sa их будет около 8000 отдельно предметов GraphicsPath на экране и фоновое изображение bitmap.

To показывает чертеж, котор я использовал тип BufferedGraphics для скорости using bitblt. Кодий

The для того чтобы нарисовать m_BGContext image

приватное как m_BufferedGraphics BufferedGraphicsContext
приватное как m_ImageVisible BufferedGraphics
приватное как булевское = m_BufferedGraphics


m_BufferedGraphics.Dispose притяжки True

приватные Sub () () = m_BGContext.Allocate (m_PicBoxGraphics, новый прямоугольник (0, 0, PictureBox1.Width, PictureBox1.Height))

если m_ImageVisible конец If

m_BufferedGraphics.Graphics.Smoothin Then
m_BufferedGraphics.Graphics.DrawImage (m_img, 0, 0, PictureBox1.Width, PictureBox1.Height)/>gMode = SmoothingMode.AntiAlias
m_BufferedGraphics.Graphics.CompositingQuality =

End Sub

The CompositingQuality.HighQuality

m_MyDrawing.Draw (m_BufferedGraphics.Graphics) проблема я имею когда я сигналю весь чертеж мое использование памяти, котор идет вверх и замедляющ представление, то если я сигналю вне оно иду назад к нормальному настолько никакие утечки памяти, так вопрос в том, что. Делает любое сумейте как я могу bitblt только viewable/видимый регион чертежа. Я поговорил к проявителю и ему Java хотя они имеют вызванное что-то viewport сделал бы я хотел если я находился в Java, то но я не smog найти много вне о ем и даже если был эквивалент внутри. Сеть так конечно если это было одичалой гусыней -, то погоните, как раз подумал я упомянет it.

Anyway если это делает чувство к любому, то благодарит заранее для любого help.

Oh и я наклоняю пользу WPF которая, котор я думаю был бы более лучшим но это должно быть GDI+ и я наклоняю падение качество

Andy
отношений drawing.

Kind class=

Ответ : Зона BitBlt visble

Без видеть любое Кодего это будет довольно грубо для того чтобы ответить.  Как вы «сигналя»?

Родовой ответ что ВЫ вычисляете видимый регион в форме прямоугольника основанного на ВАШЕМ сигналя алгоритме и после этого используете GraphicsPath.GetBounds () для каждого GraphicsPath и видите если приводя к rectanlge видимо using Rectangle.Intersect, то ().  Если так, после этого вы рисуете, то что GraphicsPath в вашем «представляет» метод…
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us