Il titolo spiega più o meno la mia domanda. Mi piacerebbe essere in grado di leggere e scrivere dati JPEG su base pixel usando C#.Come posso leggere e scrivere dati JPEG su base pixel?
Sto pensando qualcosa sulla falsariga di CreateJPEG(x, y)
che avrebbe istituito un'immagine vuota JPEG in memoria, e mi darei un oggetto JPEG, e poi qualcosa come SetPixel(x, y, Color)
e GetPixel(x, y)
l'ultima delle quali vorrei tornare un Color
o qualcosa simile. È quindi possibile chiamare un metodo Apply()
o Save()
, ad esempio, per salvare l'immagine in un formato standard leggibile tramite JPEG (preferibilmente con le opzioni di compressione, ma non è necessario).
E presumo che una libreria o uno spazio dei nomi C# rende tutto questo un processo molto semplice, mi piacerebbe solo sapere il modo migliore per farlo.
Ricorda che quando si modifica un singolo pixel di un'immagine JPEG codificata, più pixel dell'immagine cambieranno a causa della compressione JPEG non imprevedibile. –
Solo una nota riguardante il formato JPEG - in quanto è una compressione con perdita, quindi il colore di un singolo pixel può cambiare tra i salvataggi, anche se non lo hai modificato direttamente, quindi non fare affidamento sui colori dei pixel rimanendo costante EDIT: battuto :) –
Giusto;) Stavo chiedendo perché mi piacerebbe cimentarmi nella scrittura di alcuni software di confronto di immagini, fondamentalmente, dato 2 immagini, produrre una bitmap delle differenze. So che è stato fatto prima, ma sarebbe una buona pratica per me, e avevo solo bisogno di un punto veloce nella giusta direzione (qualcosa di SO è davvero buono per, in realtà). :) – qJake