2017-07-15 3 views
-1

非常に単純です:どのようにプログラムで透明を作成する方法NSImage?それはそう単純ではない場合を除き...トランスペアレントなNSImageをプログラムで作成する方法は?

let image = NSImage(size: size) 

を呼び出すときに前のOSXのバージョンは、デフォルトではNSImage透明な背景を与えたが、今では黒のバックグラウンドを持っています。透明なものを作成するにはどうすればよいですか?私はlockFocus()に与えられたサイズの透明なイメージでそれを描きたいと思います。

+0

@JoshuaNozziこれはiOSではなくOSXの質問です。 'UIIMage!= NSImage'すべてのライブラリが異なります。 – drasto

+1

「以前のOSXバージョンでは」と言っていますか?あなたはそこにiOSを言いました。 iOSにはNSImageはありません。 – adev

+0

私はあなたの質問について尋ねました。 'let image ='の前に行 – adev

答えて

1

いくつかの主要なMac OSのバージョンでは、ロック/ロック解除のフォーカスメソッドは廃止されていませんが、遅延描画のためにNSImage(size:flipped:drawingHandler:)が採用されました。後でmacOS SDKにリンクされたアプリケーションでロック/アンロックを使用して複数の画像をまとめて構成すると、予期せずラスタライズされたテキストや特定のアルファチャンネルの問題に個人的に遭遇しました。

私の最初の提案は、その方法を使用して問題が解決するかどうかを確認することです。描画ハンドラには、単にreturn trueを含めることができます。

関連する問題