問題タブ [quartz-graphics]
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.
c - PDF ファイルから CGImage を取得する
すべてのページが (LZW) TIFF ファイルである PDF ファイルがあります。これは私が作ったので知っています。それを読み込んで、TIFFファイルの束として保存できるようにしたいです。
CGPDFDocumentCreateWithURL で PDF ファイルを開き、ページを取得できます。ページを画面に描画することもできます。
私がやりたいことは、CGBitmapContextCreateImage を使用して画像を CGImageRef に取得できるように、ページを bitmapContext に描画することです。ただし、ビットマップ コンテキストを作成するには、画像のサイズと解像度を知る必要があります。そのページの画像オブジェクトの解像度を教えてくれる CGPDFDocument または CGPDFPage を取得する方法を見つけることができないようです。
私が気付いていないこれを行う簡単な方法はありますか?
ありがとう。
iphone - 画像のクォーツ 2D/OpenGLES 幾何学的歪み (できれば CGImage を使用)
ピンチ/フィッシュアイなどの幾何学的歪みを実装するための推奨される方法は何ですか? iPhone SDKを使用していますか?OSX 用の Core Image ライブラリにはこれらすべての種類のフィルタが組み込まれていますが、iPhone SDK 用ではありません。
元のソース ビットマップ データがあれば、特定の位置と半径でディスプレイスメント マップを作成できますが、このビットマップ データを CGImage の変換として適用する方法がわかりません。
これはアフィン変換ではありません。これは、歪みなどの領域で線が平行でなくなるためです。
CGImage を使用することは可能ですか、それとも OpenGLES を使用してこれを行う必要がありますか?
ありがとう
iphone - iPhoneの画像の歪み
シミュレーターが UIImageViews を正しく表示するのに、iPhone では正しく表示されない理由はありますか?
私のプロセス: PNG ファイル内の画像 UIGraphicsBeginImageContext() を開始します CGrect に PNG を描画します CGRect にテキストを描画します コンテキストから UIImage を作成します UIImaveView の画像を UIImage に設定します UIImageView のフレームを次のサイズに設定しますPNG サブビューとして追加
結果: 画像が正しく表示されません。画像の右端の 1 ~ 3 ピクセルは、縦の白い線です。これはデバイスでのみ発生し、シミュレーターでは発生しません。私は問題を解決できますが、UIImageView のサイズを大きくすることによってのみです。UIImageView の size.height を 1 ピクセル増やすと、UIImage が正しく表示されます。もちろん、これらはiPhoneに画像を拡大縮小してから画面に描画させますが、これは望ましくありません。
これが発生する理由や修正方法はありますか? (必要に応じてコードを投稿します)
iphone - QuartzCore.framework の問題
QuartzCore フレームワークを使用しようとしていますが、このフレームワークを iPhone アプリケーションに追加すると、ファイル (CIColor.h など) が見つからないというメッセージが表示されますが、見つからないファイルはハード ドライブの /system/library/ の下にあります。
QuartzCore フレームの作業に加えて、次のフレームワークを使用しています: cocos2d、cocoa.framework、openGLES.framework、openAL.framework、foundation.framework、UIKit.framework、および APPKit フレームワーク。
何が間違っているのでしょうか?
ios - iOSで利用可能なCIFilter?
独自のフィルター(おそらくopengl ESを使用)の実装を開始する前に確認したいのですが、iOSでCIFiltersを使用できますか?似たようなものはありますか?
cocoa - Quartz 2D で色補正を無効にする
わかりました、クォーツの色補正を実際に無効にすることはできないことを知っています. 私が探しているのは、CGLayer で描画する RGB 値を変更しない、デバイスに依存しない色空間設定です。
システム ライブラリのすべての ICC プロファイルを試しましたが、すべて色が変わります。
これは私が得た最高の結果です:
これは、Apple RGB の色変換マトリックスと D65 白色点を使用します。
色はまだ少しシフトしますが、デバイスに依存する設定よりもこれで満足しています.
CGLayer を TIFF に書き込む方法は次のとおりです。
どんな助けでも大歓迎です。
cocoa-touch - Quartz 描画の最適化
背景画像とCGPath
、ユーザーが画面に触れると変更されるビューがあります。で画像をCGContextDrawImage()
描画し、その上にパスを描画するのは十分に高速ではなく、タッチ イベントのパフォーマンスを妨げます。私がしたいのは、ビットマップバッファーを持ち、パスの変更のみを描画することです。したがって、ビューdrawRect()
はバッファを描画するだけです。sを使用する必要があると思わCGContext
れますが、その方法がわかりません。これを最適化する別の方法はありますか?
編集:
ユーザーが画面に触れるたびにパスに追加しています。したがって、「パスの変更」とは、既存のパスにさらにポイントを追加することを指します。これが、毎回全体を描画するのではなく、画像をバッファーしてパスの「デルタ」だけを描画できると思う理由です。現時点で、私の描画とイベント ロジックは次のようなものです。
このように背景を描画すると、パスだけを描画する場合よりも、タッチ イベント サンプリングのパフォーマンスが著しく低下します。
macos - Core Graphics のフォント サイズ
Core Graphics API を使用してテキストを少しレンダリングしようとしていますが、概念的な問題に直面しています。
CGContextSetFontSizeを使用してフォント サイズを指定しようとしています。サイズ パラメータは、「テキスト スペース単位」と呼ばれるものです。それは何ですか?" em " 単位にどのようにマッピングされますか?
ありがとう
events - イベント タップ: CGEventPost、kCGSessionEventTap、kCGAnnotatedSessionEventTap、CGEventTapPostEvent によるさまざまな結果
イベント タップからイベントを投稿する際に厄介な問題が発生しています。kCGHIDEventTap で NSSystemDefined をタップし、イベントを新しいイベントに置き換えます。私が直面している問題は、イベントの投稿方法によっては、一部のアプリケーションでしか見られないことです。私のテスト アプリケーションは、Opera、Firefox、Quicksilver、および Xcode です。イベント タップ コールバック内で試したさまざまな手法と結果を以下に示します。各アプリからのアクション (「正しい応答」) を期待しています。「システム ビープ」とは、そのキーに何もバインドされていないシステム サウンドを意味します。
新しいイベントを作成し、コールバックから返します。Opera: 無応答/システム ビープ音、Firefox: 無応答/システム ビープ音、Quicksilver: 正しい応答、Xcode: 無応答/システム ビープ音
新しいイベントを作成し、CGEventPost で kCGSessionEventTap にポストし、null を返します。Opera: 無応答/システム ビープ音、Firefox: 無応答/システム ビープ音、Quicksilver: 正しい応答、Xcode: 無応答/システム ビープ音
新しいイベントを作成し、CGEventPost で kCGAnnotatedSessionEventTap に投稿し、null を返します。Opera: 正しい応答、Firefox: 正しい応答、Quicksilver: 無応答/システム ビープ音、Xcode: 無応答/システム ビープ音
新しいイベントを作成し、CGEventTapPostEvent で投稿し、null を返します。Opera: 無応答/システム ビープ音、Firefox: 無応答/システム ビープ音、Quicksilver: 正しい応答、Xcode: 無応答/システム ビープ音
新しいイベントを作成し、CGEventPost で kCGSessionEventTap に投稿し、新しいイベントを返します。Opera: 無応答/システム ビープ音、Firefox: 無応答/システム ビープ音、Quicksilver: 正しい応答、Xcode: 無応答/システム ビープ音
新しいイベントを作成し、CGEventPost で kCGAnnotatedSessionEventTap に投稿し、新しいイベントを返します。Opera: 正しい応答とシステム ビープ音、Firefox: 正しい応答とシステム ビープ音、Quicksilver: 正しい応答とシステム ビープ音、Xcode: 応答なし/2 回のシステム ビープ音
新しいイベントを作成し、CGEventTapPostEvent で投稿し、新しいイベントを返します。Opera: 無応答/システム ビープ音、Firefox: 無応答/システム ビープ音、Quicksilver: 正しい応答、Xcode: 無応答/システム ビープ音
(6) が最適ですが、ユーザーは、正しい応答に対する余分なシステム ビープ音について不満を漏らしています。これは、イベントの二重投稿が原因であると推測しています。他の組み合わせを試してみるか、他にどこを見ればよいかわかりません。誰でもガイダンスを提供できますか?コールバックからイベントを返すことと、注釈付きタップに投稿することの両方を行わずに結果を取得する方法はありますか?
長い質問で申し訳ありません。私はたくさんの実験をしてきました。
前もって感謝します
更新: これは、イベント タップを作成するために使用するコードです。