سؤال

كيف يمكن تحويل صورة من ملف تعريف ألوان إلى آخر (شاشة إلى طابعة، أو ماسح ضوئي إلى شاشة).في Visual C++، يمكنك استخدام الوظيفة الموجودة في ICM.h، هل توجد طريقة مُدارة للقيام بذلك باستخدام GDI+؟

أحتاج إلى استخدام GDI+، وليس WPF.أفضل أن يكون لدي حل مُدار، ولكن إذا لم يكن متاحًا، أعتقد أن PInkvoce سيكون كافيًا.

هل كانت مفيدة؟

المحلول

هناك عدد من الحلول.

  1. بالنسبة لـ GDI+، راجع هذه المقالة على MSDN.
  2. بالنسبة لـ WPF (.NET 3.0)، راجع System.Windows.Media مساحة الاسم.هناك عدد من الفئات المختلفة، مثل BitmapEncoder, ، والتي لديها مفهوم أ ColorContext, ، والذي "يمثل ملف تعريف الألوان اتحاد الألوان الدولي (ICC) أو إدارة ألوان الصورة (ICM) المرتبط بصورة نقطية."

يبدو كلاهما معقدًا جدًا، لذلك هناك دائمًا خيار شراء رمز شخص آخر.أتالاسوفت دوت إيماج فوتو برو يتمتع بإمكانيات إعداد ملف تعريف ICC المضمنة.الكود باهظ الثمن؛ترخيص التطوير هو 2 كيلو تقريبًا.ولكن بناءً على مشاركتهم في مجتمع الدوت نت، سأعطيهم جولة.

نصائح أخرى

يجب عليك إلقاء نظرة على LCMS.إنه نظام لإدارة الألوان، مكتمل إلى حد ما، ولكنه مكتوب بلغة C.يمكنك استخدام pinvoc، ولكنني أوصي باستخدام برنامج Managed C++‎.أنا في الواقع أعمل حاليًا على برنامج مُدار حول المحرك (فقط الأساسيات، وتحويل ملف تعريف الألوان، والقراءات المعملية).يمكنني نشر رابط للكود بعد الانتهاء.قد يكون أسبوعًا أو نحو ذلك بالرغم من ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top