Mahlzeit zusammen,
ich hab von meinem Chef die Aufgabe bekommen eine ASP.net Seite zu schreiben die es ermöglicht ein Bild hoch zu laden, einen gewissen Bereich des Bildes aus zu wählen um dann den ausgewählten Bereich als Bild zu speichern und um zu wandeln in des was wir brauchen. Des mit dem Upload und auswählen funktioniert auch soweit alles super. So aber jetzt komme ich zur Bildmanipulation.
Ich bekomme durch den Upload ein Bild:*Format jpg *dpi: unterschiedlich *Farbraum: alles durch die Bank
So das Bild soll jetzt so formatiert werden:*Format jpg (hab ich ja schon 😃 ) *dpi: 300 *Farbraum: CMYK
So jetzt hab ich auch schon mal google und die SuFu befragt. Zum Thema wie bring ich die dpi Anzahl raus hab ich nix gefunden oder ich such falsch (nobody is perfect). Zum Farbraum hab ich nur gefunden das .net nur RGB kann stimmt das noch, da der neuste Post dazu von 2008 war?
Vielleicht kann mir ja von euch jemand helfen.
Gruß Iginaz
Wegen dem CMYK-Farbraum, schau erstmal, was es dazu schon im Forum gibt.
Wegen der Auflösung in DPI, schau dir mal die BitmapSource.Create-Methode an: BitmapSource.Create-Methode (Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32)
Christian
Weeks of programming can save you hours of planning
@iginaz: such im Forum nach CMYK und Poste die besten Treffer hier
Außerdem hatte ich angedacht das ganze in die LowLevelGraphicsLibrary einzufügen.
Ob der Code richtig sein kann hab ich nicht überprüft. Er ist auch nicht getestet bisher.
/// <summary>
/// Used to calculate new channel values from rgb
/// This is a simple formula WITHOUT ICC (Color management)
/// </summary>
protected override void CalcValues()
{
int nR = m_Color.R;
int nG = m_Color.G;
int nB = m_Color.B;
m_K = Math.Min(Math.Min(255 - nR, 255 - nG), 255 - nB);
m_C = (255 - nR - m_K) / (255 - m_K);
m_M = (255 - nG - m_K) / (255 - m_K);
m_Y = (255 - nB - m_K) / (255 - m_K);
}
Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.