Articles of gdi +

OutOfMemory Exception durante il disegno ricorsivo di rettangoli in GDI +

Ho un problema nel disegnare e riempire i rettangoli in C # usando GDI +. Sto provando a visualizzare una mappa di tre e ho quindi costruito un algoritmo ricorsivo che attraversa la struttura ad albero da livelli radice a foglia e disegna un rettangolo in ogni caso, ma riempie anche il rettangolo se il […]

Applica ScaleTransform a Graphics GDI +

Ho messo insieme questo semplice codice per disegnare una linea. Ora voglio applicare a ScaleTransform un fattore di 10; ma il codice qui sotto non funziona. var bitmap = new Bitmap(pictureBox1.Size.Width, pictureBox1.Size.Height); var g = Graphics.FromImage(bitmap); pictureBox1.Image = bitmap; var pn = new Pen(Color.Wheat, -1); g.DrawLine(pn, 0, 0, 10, 10); pn.Dispose(); // I’m trying to […]

Bitmap.Save “Errore generico”

Quando eseguo la mia applicazione, viene visualizzato il seguente errore in mio volto “Si è verificato un errore generico in GDI +”. Mi sono guardato intorno e ho visto persone con errori simili, ma non ho trovato alcuna soluzione reale, o è un vero rompicapo da implementare. E quelli che non hanno ottenuto una soluzione […]

Eccezione GDI + LockBits () / UnLockBits ()

Il mio programma è scritto in C # e manipola con bitmap a basso livello. Tutto funziona bene, ma a volte (molto raramente, ma stabile) si verifica l’eccezione “Generica eccezione GDI +” ed è molto difficile riprodurre tali situazioni. L’eccezione si verifica sulle funzioni LockBits () e UnLockBits (). Contiene il codice di errore “-2147467259”. […]

c # Disegna l’immagine (ridimensionata) in Grafica, non interpola correttamente. Correzioni?

Ho un’immagine larga 1px e un’altezza. Devo disegnare questa immagine su tutta la larghezza del controllo sul suo evento OnPaint. Lo prendo per disegnare, tuttavia non correttamente. Sembra che quando lo stira, in realtà non riempie tutti i pixel. Come se l’interpolazione fosse distriggersta. C’è un modo per dire “smetti di essere intelligente, basta disegnarlo […]

Come posso impostare un’immagine per avere uno sfondo trasparente in C # senza usare Bitmap.MakeTransparent ()?

Voglio impostare un’immagine per avere uno sfondo trasparente, ma non voglio sostituire tutti i pixel di un colore specifico con trasparenza. Per essere più specifici, l’immagine è un’immagine di anteprima per una cartella, ottenuta tramite IShellItemImageFactory.GetImage. Questo mi dà una bitmap, come mostrato nella vista delle miniature di Windows Explorer, ma lo sfondo è bianco […]

Come sovrappongo un’immagine bitmap su un’altra in GDI +?

Usando GDI + ho creato un heatmap bmp e mi piacerebbe sovrapporlo sopra la mia mappa bmp. Ho salvato i due bmps su disco, e hanno un bell’aspetto, ho solo bisogno di un modo per metterli insieme. C’è un modo per farlo, magari usando l’object Graphics? In che modo è coinvolta la trasparenza / alpa? […]

Il parametro è un’eccezione non valida quando si utilizza Graphics.GetHdc

Ho fatto un’applicazione per scattare istantanee di siti Web. Tutto funziona bene, fino ad ora: ho l’applicazione prendere MOLTE foto, e il processo di acquisizione dell’immagine è fatto come segue: using (Graphics graphics = Graphics.FromImage(mBitmap)) { IntPtr hdc = graphics.GetHdc(); SendMessage(new HandleRef(mWebBrowser, mWebBrowser.Handle), 791, hdc, (IntPtr)30); BitBlt(new HandleRef(graphics, hdc), 0, 0, mBitmap.Width, mBitmap.Height, new HandleRef(graphics, […]

Determina il numero di handle GDI e oggetti USER

Abbiamo sviluppato una piccola suite di test per il nostro motore di rendering dell’interfaccia utente Windows Form che consente di misurare le prestazioni e rilevare perdite di memoria durante l’esecuzione di test case in modo automatico. Ora vorremmo verificare anche la presenza di perdite. Sulla piattaforma desktop possiamo usare questo codice: [DllImport(“User32”)] private extern static […]

Conversione da Format8bppIndexed a Format24bppRgb in C # / GDI +

Bene, ho un’immagine proveniente da un’applicazione esterna in un formato indicizzato a 8 bit. Ho bisogno di questa immagine convertita in un formato a 24 bit della stessa identica dimensione. Ho provato a creare un nuovo Bitmap delle stesse dimensioni e del tipo Format24bppRgb e quindi utilizzare un object Graphics per disegnare l’immagine a 8 […]