2011-07-05 4 views
0

私はそれに近づけるべきではないかと私は確信していますが、(私のMacアプリケーションでは)ユーザがそれぞれの色を変えることができるNSViewのグリッドを持っていれば、これを翻訳することができます。ユーザーが各ピクセルの色を指定した場合、これをエクスポート可能なイメージにしますか?色を画像に変換しますか?

私は正直なところ、これをどうやって行うのか考えることはできません。私はむしろ愚かな道を取ったことを実感していません。

アイデアは、ユーザーがペイントできる四角形のグリッド、各四角形の色、最終イメージのピクセルを表す四角形を持っています。そのため、それぞれの塗りつぶしのように塗りつぶし、実際のイメージファイルに書き出します。

ご協力いただきありがとうございます。

答えて

3

NSViewsのグリッドは、あなたがやっていることに対して本当に重いです。マウスの位置を確認し、データを適切に変更する単一のカスタムビューを作成してみませんか?次に、カスタム描画メソッドを作成してカスタムビューを塗りつぶし、同じ正確な描画方法を使用して、書き出すことができるNSImageに書き込むことができます。

あなたはちょっとしたことをする必要があります。各「ピクセル」について、適切なNSColor-setと電話し、次にNSBezierPath-fillRectメソッドを使用します。それは、鉛筆&紙を出て、直方体の数学を計算するのに役立ちます&サイズ。

カスタム図面を以前に作ったことがない場合は、http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaDrawingGuide/Introduction/Introduction.htmlを確認してください。それは本当にそれほど悪くはない、ちょっとした読書が必要です。 :)

+0

私はそれが各ピクセルのためにNSViewを持っていることを誇張に思っていました。しかし、どのように私は単一のNSViewで色の1ピクセル分の価値を表示するつもりですか? (最終画像の各ピクセルはもちろん塗りつぶされてもリテラルピクセルではなく、おそらく30x30ピクセルで画面上に表示されます)意味がありますか? –

+0

正しいサイズのボックスに正しい色を入れてください。 (はい、あなたはちょっとしたことをする必要があります)。あなたがすることは、適切な 'NSColor'で' -set'を呼び出し、 'NSBezierPath'の' -fillRect'メソッドを使うことだと思います。それは、鉛筆と紙を取り出して直方体と大きさの数学を計算するのに役立ちます。 – andyvn22

+0

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaDrawingGuide/Introduction/Introduction.htmlは、前回のカスタム図面を一度もやったことがない場合は、ビューの座標に役立ちます。それは本当にそれほど悪くはない、ちょっとした読書が必要です。 :) – andyvn22

関連する問題