Ho un progetto grafico dove compongo un'immagine da immagini caricate in jpg o png in controlli PictureBox e poi salvo in PNG. Tuttavia quando salvo, i bordi e le linee sottili sovrimposte appaiono come compesse in jpg, non nitide e anche di colore diverso. Il file viene comunque salvato in formato png, inizia con ‰PNG.
codice:
Dim bm As New Bitmap(10000, 2000, Imaging.PixelFormat.Format32bppArgb) 'Immagine creata vuota, spero abbia il fondo trasparente
Dim gr As Graphics = Graphics.FromImage(bm)
gr.DrawImage(CType(Controllo, PictureBox).Image, Rettangolo)'Questa è jpg
gr.DrawImage(Img, New Point(X, Y)) 'Img è sempre ottenuta da un controllo PictureBox che contiene una png
ImgAnteprima.Image = CType(bm, Image) 'Questa PictureBox è molto più piccola, ma non è da qui che salvo l'immagine
bm.Save("risultato.png", Imaging.ImageFormat.Png)
Lo stesso progetto mi dà un ulteriore problema: se modifico con un programma esterno una delle immagini caricate (drag&drop) nelle PictureBox e lo salvo ottengo un errore "Si è verificata una violazione di condivisione". Se le immagini devono essere bloccate, è possibile consentire agli utenti di modificare esternamente le immagini mentre sono aperte nel programma e ricaricarle automaticamente?