3

私は、画像にテキストを追加することを中核とするプロジェクトに取り組んでいます。たとえば、背景画像(B)と、指定されたフォント、ポイントサイズ、フォント(A)のテキストを組み合わせて、2つを合成して生成します。 (C): 画像の例

最終的にはこれらの画像を使用して印刷されるため、背景はCMYKカラースペースを使用しており、プロセス全体をCMYK内に維持する必要があります。そうしないと、印刷時に色が正しく表示されません。(注:CodeProjectの色空間と.NETに関する優れた記事)

これらの画像を一緒に合成するいくつかの異なる方法を試しました。

  • System.Drawingは、すべてを暗黙的にRGBに変換します
  • System.Windows.Media.Imaging-合成メソッドはありません
  • System.XAML / WPF-非常に有望ですが、RenderTargetBitmapはPixelFormats.Cmyk32では機能しません(ArgumentExceptionをスローします)。

価格が高くなり始め、上昇し続けているように見えるので、私はサードパーティの商用コンポーネントを調べましたが、試していません:

これは.NET4で可能ですか?

編集: 他の誰かが少し違うことをしたいと思うかもしれないのでWindows.System.Media.Imaging、CMYKにロードできるフォーマットを変換するだけです。これが私が使用したコードです。

var bitmapConverter = new FormatConvertedBitmap();
bitmapConverter.BeginInit();
bitmapConverter.Source = sourceImage;
bitmapConverter.DestinationFormat = PixelFormats.Cmyk32;
bitmapConverter.EndInit();

上記のコードを明確にするために、画像ソースをCMYK32(透明度なし)に変換しますが、特定のクラスを使用している場合(つまりRenderTargetBitmap、上記のImageSourceを渡すと例外がスローされます)。

4

1 に答える 1

1

SOをよく調べたことがあれば、おそらくこれらのリンクをすでに見たことがあるでしょう。しかし、念のため、ここにあなたに役立つかもしれないと私が見つけたいくつかのリンクがあります。

.NETでのCMYKの操作に関するSOのリンクは次のとおりです。

RGBカラーをCMYKに変換しますか?

具体的には、カラープロファイルとWindowsカラーマネジメントAPIの使用について言及しています。

別のSOリンクは次のとおりです。

IndesignでプログラムでCMYKをRGBに変換する方法

ある回答者は、CMYKとRGBの間には正確な変換がないことに言及しています。

RGBに変換せずに2つのCMYK画像を合成する方法についてのリンクは次のとおりです。

CMYKグラフィックライブラリはありますか?

回答者は、彼が提携している商品を使用することを提案しています。

于 2010-12-13T17:33:34.400 に答える