問題タブ [nsimage]
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.
cocoa - コア データ モデルに NSImage を格納する
Core Data Model に NSImage を保存する正しい方法は何ですか? Entity に Attribute を追加し、それに Type "Binary" を指定すると機能すると想定しましたが、機能していません。NSImageCells の列を持つテーブルがありますが、何も表示されません。
objective-c - NSImage の回転
NSView のサブクラスを含むウィンドウがあります。ビュー内に、NSImage を配置します。
画像の (新しい) 左上隅をビューの左上隅に保ちながら、画像を 90 度回転できるようにしたいと考えています。もちろん、画像を回転させてから、元の位置に戻すために移動する必要があります。
カーボンでは、私が望むことを行う CGContextRotateCTM を見つけました。ただし、ObjC で適切な呼び出しが見つかりません。setFrameCenterRotation は何もしていないように見えますし、setFrameRotation では原点がどこにあるのかわからないようなので、適切に翻訳できます。
動くようです。ウィンドウのサイズを変更すると、画像が配置され(またはその一部、奇妙なクリッピングの問題があるようです)、スクロールすると、別の(必ずしもsaemではない)場所にジャンプします。
これは誰にとっても意味がありますか?
ありがとう
objective-c - NSAffineTransformを使用した場合と使用しない場合のNSImageの回転
NSViewのサブクラスにNSImageが描画されています。前の質問で、私はそれを左上隅に直立させるのを手伝ってくれました。ここで、画像を回転できるようにしたいと思います。回転変数%4をインクリメントするボタンがあり、これに-90を掛けて回転角を求めます。次に、NSAffineTransformを使用して画像を回転し、画面に変換し直します。ただし、期待どおりに機能していないようです。私には2つの問題があります。
1)回転すると、前のフレームになかった領域にある画像の部分が正しく描画されます。ただし、以前そこにあったポーションは元の画像のままです。これは、数回転した後、元の直立した画像の正方形があり、次に回転画像の下または左に長方形があることを意味します。
2)ウィンドウのサイズを変更すると、画像は元の直立した向きで(本来あるべきように)再描画されます。
基本的に、NSAffineTransformは私が思っているようには機能しないという結論に達しました。画像を回転(および平行移動)する他の方法はありますか?ありがとう
大きなコードチャンク:(「WORKS」と「endworks」の間のコードは、画像を描画するための作業コードです。これは私の前の質問からのものです)。
[古いコードが削除され、下のコードが新しいコードに置き換えられました]
ありがとう
編集:もう少し調査すると、NSAffineTtransformを実行する代わりに、ビューを回転できることがわかりました。これはうまくいくようです。ただし、翻訳を正しく機能させることができません。以下の新しいコード(スペースを節約するために元のコードが削除されました)
cocoa - パディングされ、中央に配置され、スケーリングされた NSImage を作成します
NSImageCellを使用して、任意のサイズの画像に基づく固定サイズのアイコンをNSOutlineViewに入れています。
NSImageCell は画像をうまく縮小しますが、縮小された画像の周りにパディングを追加する方法が見つかりません。パディングなしでは、行は私の目には醜く見えます。
この問題を修正するための最初のパスは、一定サイズの新しい画像を作成し、パディングの境界を挿入し、drawInRect:fromRect:operation:fraction: を使用して元のアイコンの縮小バージョンを描画することでした。
これは、正方形の画像に最適です。NSImage には、特定の四角形に画像の中心に配置され、一定のアスペクト比でスケーリングされたバージョンを描画する便利な方法があると思いましたが、見つかりません。
明らかに、元の画像と同じ縦横比で適切な四角形を計算できますが、車輪を再発明したくありません...
objective-c - NSImage で複数ページの画像を操作する
私は画像ビューアー アプリケーション (OSX) に取り組んでおり、現在は画像を読み込んで表示できますが、複数ページの PDF と TIFF を表示できるようにする必要があります。次/前のページボタンなどを用意します。
今、PDF では、NSPDFImageRep を使用することを期待しています。これにより、現在のページを設定し、現在のページなどを描画できます。
ただし、NSTIFFImageRep が表示されず、NSImageRep クラスにはページを処理する方法がないようです...
ETA (私の質問の詳細): 複数ページの TIFF を操作するにはどうすればよいですか? C では、n 番目のページを取得できる CGImageSource を使用しました。Objective C の TIFF に相当するものはありません。
ありがとう。
objective-c - NSCachedImageRepを回避する方法
PDFからのNSImageを使用しています。最初にイメージを作成したとき、NSImageRepは1つだけで、それはNSPDFImageRepです。これはいい。私はそれで働くことができます。ページ数がわかり、指定したページに移動して描画するなどの操作ができます。
問題は、背を向けるとすぐに、複数のページがないように見えるNSCachedImageRepに変わることです。ここで、PDFImageRepを別の変数に保持すると、追跡されますが、画像に関連付けられなくなったため、画像を描画しても同じページに表示されます。
私は何が欠けていますか?
ありがとう。
objective-c - NSImageRep の混乱
PDFから取得したNSImageがあるため、NSPDFImageRepタイプの表現が1つあります。画像 setDataRetained:YES; を実行します。NSPDFImageRep のままであることを確認します。後でページを変更したいので、担当者を取得し、現在のページを設定します。これで問題ありません。
問題は、画像を描画すると1ページ目しか出てこないことです。
私の印象では、NSImage を描画すると、表現が選択され、その表現が描画されます。現在、画像にはレップが 1 つしかないため、それが描画されているレップであり、それが PDFrep です。では、画像を描画すると、正しいページが描画されないのはなぜですか?
ただし、表現自体を描画すると、正しいページが表示されます。
私は何が欠けていますか?
cocoa - アプリケーションのアイコンのNSImage表現をロードするにはどうすればよいですか?
Cocoaアプリ用にカスタムアイコンファイル(MyApp.icns)を設定しています。NSImage
アプリケーション内からアイコンの表現にアクセスするにはどうすればよいですか?
次のようなものが最適です。
しかし、それはそれほど簡単ではないと確信しています:)
もちろん、次のようにアイコンファイルへのパスを取得できます。
しかし、名前が変わる可能性があるため、名前で呼び出す以外に、アプリケーションのアイコンファイルにアクセスするための何らかの標準的な方法があるはずだと私には思えます。
これを行うための適切な方法は何ですか?