Vraag : Het visble gebied van BitBlt

Ik heb een tekeningstoepassing van soorten gecre�ërd, gewoonlijk wanneer de gebruiker (me) sa norm trekkend hun wil ongeveer 8000 afzonderlijke voorwerpen zijn GraphicsPath op het scherm en een achtergrond bitmap.

To de tekening toont ik de klasse BufferedGraphics voor de snelheid gebruikend bitblt heb gebruikt. de code

The om image

Privé m_BGContext als/> Privé m_BufferedGraphics BufferedGraphicsContext
Privé m_ImageVisible BufferedGraphics

trekt ()

m_BufferedGraphics.Dispose ()/> m_BufferedGraphics
BoxGraphics, Nieuwe Rechthoek (0, 0, PictureBox1.Width, PictureBox1.Height))

als het m_ImageVisible Eind/>s.DrawImag m_BufferedGraphics.Graphice (m_img, 0, 0, PictureBox1.Width, PictureBox1.Height)
If

m_BufferedGraphics.Graphics.SmoothingMode = SmoothingMode.AntiAlias
m_BufferedGraphics.Graphics.CompositingQuality het probleem/>The = van CompositingQuality.HighQuality

m_MyDrawing.Draw (m_BuffereGraphics/>dGraphics.
End Sub


Anyway zou vermelden als dit aan iedereen, dankt vooraf voor om het even welke help.

Oh steek houdt en ik gebruik WPF afschuin dat ik denk beter zou zijn maar het moet GDI+ zijn en ik schuin daling af de kwaliteit van drawing.

Vriendelijke groeten

Andy

Antwoord : Het visble gebied van BitBlt

Zonder enige code te zien zal dit mooie te beantwoorden tough zijn.  Hoe bent u „zoemend“?

Het generische antwoord is dat U gegevens het zichtbare die gebied in de vorm van een Rechthoek verwerkt op UW het zoemen algoritme en dan gebruik GraphicsPath.GetBounds () wordt gebaseerd voor elke GraphicsPath en ziet of is voortvloeien rectanlge zichtbaar gebruikend Rectangle.Intersect ().  Als zo, dan trekt u dat GraphicsPath in uw methode… „teruggeeft“
Andere oplossingen  
 
programming4us programming4us