問題タブ [nsimageview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
845 参照

cocoa - NSImageView を動的にサイズ変更できません

動的に生成された NSImage を囲む NSImageView があります。表示される画像を変更するときは、新しい画像を正確にラップするように NSImageView のサイズを動的に変更し、NSImageView とウィンドウの他のすべての部分の間のスペースが一定になるように、囲んでいるウィンドウのサイズを変更したいと考えています。(画像を常に物理的なサイズで表示したいので、画像ビューのスケーリングはなしに設定されていることに注意してください ) それを大きな画像に置き換える場合、他の要素のサイズや間隔に影響を与えることなく、NSImageView と囲んでいるウィンドウの両方のサイズを変更して、それに対応できるようにしたいと考えています。

現在、ステッパーまたは関連するテキスト フィールドを介して倍率レベルが変更されるたびに、次のメソッドを呼び出します。画像を再生成して NSImageView にロードすることは正常に機能しますが、NSImageView のサイズを変更してウィンドウを囲むことはできません。

倍率の値を増減して画像を小さくしたり大きくしたりしても、NSImageView とウィンドウの両方のサイズは一定のままです。コメントアウトされた3 つのsetNeedsDisplay:呼び出しは、コメントを外しても効果がありません。サイズが調整された後にコントロールが再描画されないことに問題があるかどうかを判断しようとしましたが、呼び出しは効果がありませんでした。不思議なことに、私のNSLog呼び出しは、imageView のフレームが実際に要求されたサイズを取ることを示しています。これは、次の出力が得られるためです。

もちろん、実際の表示は変わりません。

興味深いことに、ImageView のフレーム スタイルを Interface Builder で、またはプログラムで を使用して「なし」に変更すると、[self.imageView setImageFrameStyle:NSImageFrameNone]希望する動作に近づくことができます。画像ビューによって切り取られるように画像を大きくすると、実際には画像ビューとウィンドウが大きくなります。ただし、この時点から、画像を小さくしても、それに応じて画像ビューまたはウィンドウのサイズが変更されるわけではありません。「なし」は、このやや正しい動作を示す唯一のイメージ フレーム スタイルです。4 つの縁取りスタイル (つまり、ベベル [デフォルト]、ボタン、溝、および写真) はすべて、上記と同じまったく正しくない動作を示します。

私は似たような問題を抱えている人に出会いました。奇妙なことに、彼は画像ビューのフレーム スタイルが に設定されている場合にのみ、問題のある動作を観察しましたNSImageFrameNone。サイズ変更の前にフレーム スタイルを none 以外の値に変更し、後で none に変更してみました。 .

あなたが提供するどんな助けも大歓迎です。ありがとう!

0 投票する
1 に答える
473 参照

background-color - 特定の色が透明になるように、MacO の NSImageView で .bmp を表示する方法は?

グラフィックがフォームの上に表示されるときに透明として表示されるはずの色(おそらく黒)を持つ.bmpファイルがいくつかあるため、フォームの色は透明な領域を通ります。しかし、デフォルトでは、これらの画像を Image View に配置すると、黒/透明な領域が BLACK として表示されます!

私は次のいずれかが必要だと考えています: - NSImageView が画像を表示する方法を変更して、特定の色が透明になるようにするか、.bmp ファイルを何らかの方法で変更して、その色を NSImageView の透明度に適したものにします。

しかし、グラフィックファイル、透明度(アルファ)、NSImageView、画像編集ツールについては十分に知りません。Gimp を使用しようとしていますが、まだ何をしているのかわかりません。現在の .bmp ファイルには、透明にする必要がある色が既に存在するようです。

NSImageView を設定したり、ファイルを編集したり、画像のマスクを作成したりするのは簡単だと思いますが、まだ方法はわかりません。NSImageView の IB でさまざまなフィルターを調べましたが、透明な色を設定する場所や、画像ファイルからその色を取得して正しい値を使用する方法が見つかりませんでした。

ご協力いただきありがとうございます。(画像を載せようとしたのですが、初心者のためできませんでした。)

ボー

0 投票する
1 に答える
1213 参照

cocoa - NSImage を変換およびスケーリングする方法は?

これまで、ユーザーが画像を NSImageView にドラッグ アンド ドロップできるアプリケーションを作成しました。ただし、画像をクリックしてマウスボタンを押したままにして、その場所を移動するだけで、これらの画像を移動できるようにしたいと考えています。

画像を設定した後、NSImageView を操作して変換/スケーリングするにはどうすればよいですか? それは可能ですか?NSAffineTransform について読んだことがありますが、画像自体を作成する前に画像を移動しているようです。キャンバスに既に画像があり、画像をクリックして押したままマウスで移動したいだけです。誰か助けてください!

0 投票する
2 に答える
1424 参照

objective-c - NSImageViewを別のNSImageViewの前面または背面に移動するにはどうすればよいですか?

すべてのNSImageViewの名前を保持するNSTableViewがあり、NSImageViewが追加された順序に応じて、最後の名前が前面に表示されます。

しかし、ユーザーがNSImageViewを別のユーザーの前に表示できるようにしたい場合は、どうすればよいでしょうか。

前もって感謝します。

0 投票する
4 に答える
12116 参照

objective-c - mouseEnteredおよびmouseExitedはNSImageViewサブクラスで呼び出されません

NSImageViewキャプチャするイベントmouseEntered とイベントのサブクラスを作成しましたmouseExited。しかしmouseUpmouseDownイベントだけが呼び出されています。サブクラスのイベントmouseEnteredmouseExitedイベントをキャプチャする方法は?NSImageView

0 投票する
0 に答える
576 参照

macos - ドラッグ アンド ドロップ: NSView はソースがイメージではないものと見なします

私には 2 つの見方があります。1. 1 つのビューには、画像を含む NSImageViews のグリッドがあります。2. もう一方のビューには、ドラッグした画像を配置できる場所のグリッドがあります。

私は仕事を引きずっていると思います。ビュー 1 から画像をクリック アンド ドラッグすると問題なく動作しますが、配置しようとすると、ソース画像のパスが、プロジェクトの一部ではないデスクトップ上の画像になります。以下のコードの結果は、carryedData = nil ですが、NSLog でいくつかのテストを行ったところ、デスクトップではないプロジェクト外のイメージのパスが送信されていることがわかりました。

以下は、私が実装した D&D プロトコル メソッドの一部です。myDragState は、ドラッグが現在ホバリングしているグリッド スペースを強調表示するために使用する列挙型です。

初期化中...

次に、プロトコルメソッド

編集:だから私はこれを理解しました。問題は実際にはソースにありました。PBoard に正しくコピーしていませんでした。そのための私のコードは次のとおりです。

ただし、画像が表示されると、奇妙な効果が得られます。画像が目的の画像ビューに配置されると、サイズが変更されますが、ドラッグ可能なより大きなバージョンも表示されます。そのため、画像ビューで2つの画像を取得しています。

0 投票する
1 に答える
1676 参照

cocoa - Cocoa で NSImage のピクセルを操作する

ツールキットに依存するライブラリ (CIImage など) をあまり使用せずに、いくつかの変数に基づいて NSImage ピクセルの色を変更したいと考えています。そのため、後でピクセル操作アルゴリズムに集中して、プラットフォームに依存しないようにすることができます。

私のアプローチは、NSImage をサブクラス化し、属性を追加することでした

開始中、私は次のことを行います。

画像を更新しようとすると、次のようになります。

でも、イメージは変わりません。新しい画像を描画するために、表現を使用する必要があるか、含まれている NSImageView をコンテキストに変更する必要があるかどうかはわかりません。

ありがとう!

0 投票する
1 に答える
402 参照

objective-c - Interface Builder で追加された NSImageView が null です

次の問題があります。

NSWindow に NSImageView を追加しました。ウィンドウのコントローラーをファイルの所有者として設定しました。ウィンドウを開いてボタンをクリックできます。それはうまくいきます。しかし、アイコンを ImageView に設定しようとしても、null であるため何も起こりません。

それがヌルである理由は何ですか?確認したところ、IBOutlet に接続されています。

どうも

0 投票する
4 に答える
4494 参照

cocoa - NSImageView 内で NSImage の境界を取得する

ウィンドウ全体を占める NSImageView があります。画像ビューに境界線はなく、左下に表示するように設定されています。したがって、これは、ウィンドウのサイズがどのように変更されても、ビューの原点が実際の画像の原点と一致することを意味します。

また、この画像は、画面にフル スケールで収まるサイズよりもはるかに大きくなっています。そのため、画像のサイズを比例的に縮小するように imageview を設定しています。ただし、この倍率はどこにも見つからないようです。

私の最終的な目標は、マウス ダウン イベントを実際の画像座標にマッピングすることです。これを行うには、もう 1 つ情報が必要だと思います...表示された NSImage が実際にどれだけ大きいか。

を見ると[imageView bounds]、画像ビューの境界矩形が得られます。これは通常、画像よりも大きくなります。

0 投票する
2 に答える
182 参照

objective-c - デスクトップの画像を NSImage として使用する

アプリ内からではなく、デスクトップから NSImageView のイメージをファイルに設定するにはどうすればよいですか。これは私が試したコードです: