Domanda

Come si fa a convertire un'immagine da un profilo colore ad un altro (schermo a una stampante o uno scanner a schermo).In Visual C++ devi utilizzare la funzione di ICM.h, c'è gestito un modo per fare questo con GDI+?

Ho bisogno di utilizzare GDI+, non WPF.Io preferisco avere una soluzione gestita, ma se non è disponibile, credo che PInkvoke saranno sufficienti.

È stato utile?

Soluzione

Ci sono un certo numero di soluzioni.

  1. Per GDI+, check out questo articolo a MSDN.
  2. Per WPF (.NET 3.0), vedere il Sistema.Windows.Media spazio dei nomi.Ci sono un certo numero di diverse classi, come il BitmapEncoder, che hanno il concetto di una ColorContext, che "Rappresenta International Color Consortium (ICC) o Image Color Management (ICM) profilo di colore che è associato con un'immagine bitmap."

Entrambi questi sembrano abbastanza complesso, quindi c'è sempre l'opzione di acquisto di qualcun altro codice.Atalasoft s DotImage Photo Pro ha profilo ICC impostazione funzionalità incorporate in.Il codice è costoso;un dev di licenza è quasi 2k.Ma in base al loro partecipazione in dotnet comunità, mi piacerebbe dare loro un vortice.

Altri suggerimenti

Si dovrebbe dare un'occhiata a Lcms.Il suo un sistema di gestione del colore, abbastanza completa, ma scritto in C.è possibile utilizzare pinvoke, ma mi sento di raccomandare Gestito wrapper C++.In realtà sto attualmente lavorando su un wrapper attorno al motore (solo le basi, colore profilo di conversione, laboratorio di letture).Posso postare un link al codice dopo io sono completo.Potrebbe essere una settimana o giù di lì, però.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top