ご挨拶!私は問題があり、グーグルは結果をもたらしませんでした...
NSView (サブクラス) の drawRect メソッドを実装して、いくつかの影と半透明の塗りつぶしを描画しました。すべてが素晴らしく見えます!しかし今、ドラッグ アンド ドロップの目的で NSView (スナップショットを作成) から NSImage を作成する必要があります。
それは機能しますが、描画方法が異なります。より暗く、本来あるべきコントラストではありません。
なんで?多分 NSGraphicContext の異なるオプションが原因でしょうか? 助けやアドバイスが必要です!
NSView から NSImage を取得するコードは次のとおりです。
- (NSImage *)makeImageSnapshot {
NSSize imgSize = self.bounds.size;
NSBitmapImageRep * bir = [self bitmapImageRepForCachingDisplayInRect:[self bounds]];
[bir setSize:imgSize];
[self cacheDisplayInRect:[self bounds] toBitmapImageRep:bir];
NSImage* image = [[[NSImage alloc] initWithSize:imgSize] autorelease];
[image addRepresentation:bir];
return image;
}
そして、視覚的に比較する画像は次のとおりです。
- 通常 - drawRect 通常の呼び出しで描画: http://cl.ly/image/213C1Y1V0v2H
- 悪い - NSImage にキャプチャ: http://cl.ly/image/183q442S2J14
違いは非常に小さいように思えるかもしれませんが、信じてください - アプリケーションで作業している間は明らかです。なぜそれが起こっているのかわかりません。そして、誰かが助けてくれることを願っています...
前もって感謝します!