CocoaDrawingGuide



Similar documents
クリッピング領域

Microsoft Word - 415Illustrator

Microsoft PowerPoint - [150421] CMP実習Ⅰ(2015) 橋本 CG編 第1回 幾何変換.pptx

JavaプログラミングⅠ

簡単ラベル作成 印刷マニュアル

piyo0702a.rtfd

[ 学習動画 ] 一覧 学習の閲覧や質問の際にご利用ください 閲覧が終了した動画をチェックして 学習の進行状況を確認しましょう! グラフィックリファレンス 閲覧チェック 動画タイトル 時間 ( 計 20 時 10 分 ) Step1 Illustratorの基本操作 Illustratorの起動と基

<907D945D F D C789C195CF8D5888EA97978CF68A4A97702E786C7378>

JavaプログラミングⅠ

スライド 1

(Microsoft PowerPoint -

XAML Do-It-Yourself シリーズ 第 11 回 2D グラフゖックス -1-

コンピュータグラフィックス第8回

XAML Do-It-Yourself シリーズ 第 12 回 3D グラフィックス -1-

スライド 1

目次 1. デジタル押し花の作り方 3 2. デジタル押し花をきれいに仕上げる方法 まとめ 課題にチャレンジ 19 レッスン内容 デジタル押し花 マイクロソフト社のワープロソフト Word 2010( これ以降 Word と記述します ) の図ツールに搭載されている [ 背景

マニュアル訂正連絡票

本テキストの作成環境は 次のとおりです Windows 7 Home Premium Microsoft Excel 2010( テキスト内では Excel と記述します ) 画面の設定 ( 解像度 ) ピクセル 本テキストは 次の環境でも利用可能です Windows 7 Home

Bentley Architecture Copyright(C)2005 ITAILAB All rights reserved

tc15_tutorial02

目次 1. アニメーションの仕組み 3 2. ワードアートでムービーのタイトルを作成 7 3. まとめ 課題にチャレンジ 19 [ アニメーション ] 機能 PowerPoint に搭載されている [ アニメーション ] 機能を使用すると 文字や図形にアニメーション ( さまざまな動きや

スタイルシートでデザインを整えよう

extCountdown.pdf

目 次 タイトルの作成... 1 新しいスライドを作成... 1 画像の挿入... 2 テキストボックスの挿入... 4 練習問題 表の挿入... 7 グラフの挿入... 8 図形の挿入... 9 テーマの設定 アニメーションの設定 グラフの系列別のアニメーショ

< F2D D E6A7464>

簡単な図面を書いてみよう 『 3D編 』

合宿事前講座 Web 開発の基本編その 2 情報研究会モブ 薗田海樹 The. H.30 情報研究会 1

基本作図・編集

Create!Form V11 - インポート

基本作図・編集

Microsoft PowerPoint P演習 第5回 当たり判定(2)【課題】.pptx

使用する前に

pp2018-pp9base

目次 Adobe PDF でチェック & コメントのススメ チェック & コメントをはじめる前に チェック & コメントでよく使うツール ( その ) 6 チェック & コメントでよく使うツール ( その ) 8 コメントの確認と返信 0 共有レビュー機能で効率をさらにアップ 共有レビュー機能を使う

슬라이드 1

Microsoft PowerPoint - chap10_OOP.ppt

G14デ−タ入稿の手引き

extChatText.pdf

HCI プログラミング 5 回目ウィンドウに画像を表示してみよう 今日の講義で学ぶ内容 画像の表示 画像のエフェクト 画像のビューポート指定 画像の表示 1 画像を表示してみましょう 画像の表示はクラス ImageView により管理されます ソースファイル名 :Sample5_1.java //

Microsoft PowerPoint - OOP.pptx

ことばを覚える

PowerPoint プレゼンテーション

Create!Form V11 - Excel 出力設定

図表貼り付けの原則 Excel などで処理した図表を Word に貼り付ける際に注意したい事項は以下のようになります Excel グラフ の場合 1. Excel 内で, あらかじめ, グラフエリアの大きさ フォント タイトル 軸ラベルなどを十分調整しておきます 2. タイトルはグラフ内にも入れてお

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

. フォントを OS にインストールする インターネット等で入手したフリーのフォントをインストールすることにより Windows に標準でインストールされているフォント以外のものを利用することができます 多数のフォントをインストールするとパソコンの動作が遅くなります 必要なフォント以外はインストール

Microsoft Word 「前編目次」.DOC

Web プログラミング 1 HTML+CSS (3) (2 章 ) 2013/5/8( 水 ) 演習室の PC のハードディスクには演習で作成したデータは保管できません 各 PC の ネットワーク接続 ショートカットからメディア情報センターのサーバーにアクセスしてください (Z ドライブとして使用で

pp2018-pp4base

Field Logic, Inc. 標準モード 3D モデル作成 配置編 Field Logic, Inc. 第 1 版

GrWinを用いたグラフィクス・プログラミング

入稿注意書き.indd

PowerPoint プレゼンテーション

やさしくPDFへ文字入力 v.2.0

ADS-win ご利用の皆様へ 平成 25 年 2 月 14 日 生活産業研究所株式会社 ADS-win の天空率計算における注意事項 この度 ADS-win の天空率算定時における注意事項を以下の通りまとめましたので ご利用の際にはご 確認くださいますようお願いいたします (ads-lax 及び

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Sample 本テキストの作成環境は 次のとおりです Windows 7 Home Premium Microsoft Excel 2010( テキスト内では Excel と記述します ) 画面の設定( 解像度 ) ピクセル 本テキストは 次の環境でも利用可能です Windows

ARCHITREND ZERO 汎用コマンド一覧

基本作図・編集

Microsoft PowerPoint ppt

civil_ver.7.5 新機能.indd

Web データ管理 HTML+CSS (3) (2 章 ) 2011/10/19( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/23

Microsoft Word - サンプル _図面編集_.doc

目次 1 Adobe PDF でチェック & コメントのススメ 2 チェック & コメントをはじめる前に 4 チェック & コメントでよく使うツール ( その 1) 6 チェック & コメントでよく使うツール ( その 2) 8 コメントの確認と返信 10 共有レビュー機能で効率をさらにアップ 12

Microsoft PowerPoint - OOP.pptx

スライド 1

演算増幅器

<91808DEC90E096BE8F91322E786C73>

データ構造とアルゴリズム論

Mac Word2008使い方

モデリングとは

// ステージを設定します stage.setscene(scene); stage.settitle(" キャンバス "); // ステージを表示します stage.show(); public static void main(string[] args) launch(args); キャンバス

Microsoft Word - 92.doc

目次 JAVIS Appli の基本機能... 3 JAVIS Appli について... 3 音声確認機能 JAVIS Appli( 有償版 ) の機能... 4 音声で読みの確認をする... 4 辞書機能... 5 単語を登録する... 5 単語を削除する... 6 音声コードの作成... 7

もう少し詳しい説明 1. アルゴリズムを構築するための 4 枚のサンプル画像を次々と読み込むここで重要なことは画像を順番に読み込むための文字列操作 for 文の番号 i を画像の番号として使用している strcpy は文字列のコピー,sprinf は整数を文字列に変換,strcat は文字列を繋げる

はじめに! 本ドキュメントはプリントクリエイターの利用規約に同意し カスタマイズをして利用する方のみに提供されるものであり 無断で他人に提供することを禁じております! プリントクリエイターの概要! kintone アプリからワンクリックで帳票印刷ができる! ノンプログラミングで帳票レイアウトが作成で

PDF・画像の貼付け

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ

Vectorworks 投影シミュレーションプラグイン

Microsoft Word - BentleyV8XM_GoogleEarth.docx

manua6.PDF

Multi LABELIST V5 Plus 操作ガイド 株式会社サトー 2016 年 5 月 31 日

ドラフトボードの概要 画面構成 メニュー バー ツール パレット メッセージ ライン ステータス ライン 作図 編集以外の機能がこのメニューから選択できます 作図と編集で利用できるツール パレットです 選択されたツールや操作手順が表示されます 現在の情報が表示されます 数値入力も可能です (1)

PDF/X-4 PDF/X-1a PDF/X PDF DGC

IBM Business Process Manager CSS による Coach レイアウト制御ガイド WebSphere 2014 IBM Corporation

JAVA入門

目次 1. プロフィール画像工房の概要 3 2. プロフィール画像の作成 8 3. プロフィール画像の登録 まとめ 27 レッスン内容 プロフィール画像工房 インターネット上に提供されているさまざまなサービス ( これ以降 サービス と記述します ) を利用するときには 利用するユーザー

プログラミング入門1

1222-A Transform Function Order (trsn

Microsoft Word - SXFManualforGator_ACAD2010_ doc

Java言語 第1回

<4D F736F F D BB907D8AEE8F C815B B D836A B2E646F63>

2. monpe のバージョンアップについて 日医標準レセプトソフト version 4.7. 以下日レセ 4.7. にて帳票開発ツール monpe のバージョンアップを行いま す 新しい monpe(monpe-.6.2)では標準フォントが Takao 明朝フォントに変更となります また 以前の

出力ログ管理ソリューションカタログ

レコードとオブジェクト

Solid Edge ST10 新機能紹介

Rhino Exporter for ARCHICAD ユーザーガイド

Microsoft PowerPoint ppt

やさしくPDFへ文字入力 フォーム入力用 v.3.0 簡易操作マニュアル

1/2

Transcription:

基本的な描画エレメント 複雑に見えるグラフィックスももともとは単純な要素から始まっています Cocoaでは全ての描画の基礎に なる基本的なエレメントが提供されており これを組み合わせたり変形したりすることによってどんな複雑 な描画を実現できるようになっています ここではそれら基本的なエレメントについて解説します ジオメトリ サポート Cocoaでは 点や四角形など 基本的な幾何学図形を扱うために独自のデータ型 構造体 を使用します 以下の表にそれらの一覧を示します なお これらの構造体のメンバ変数は全てfloat型の変数です 型 説明 NSPoint x yで表現される平面上の一点 NSSize width heightで表現される平面上の距離 大きさ NSRect 基点origin NSPoint と大きさsize NSSize によって表現される平面上の四角形 基本的な図形 Cocoaでは 基本的な図形を描くためにNSBezierPathクラスを使います これによって以下のような図形 を描くことができます 線分 長方形 楕円 円 アーク ベジエ曲線 NSBezierPathのオブジェクトは解像度に依存しない形式でベクトルベースのパス情報をコンパクトに格納 します プログラマはこれらの基本形を結合して いくらでも複雑なパスを生成することが可能です 作成 したパスのレンダリング方法は そのパスを辿る ストローク と パスによって囲まれた領域を塗りつぶ す フィル の二通りです また NSBezierPathを使用して文字 グリフ のアウトライン パスを得る ことも可能です

一般的なドローイング処理 一般的なドローイング処理の実現方法について以下の表に示します 処理 アプローチ カスタムビューの内部 を描く drawrect: メソッドをインプリメントする NSBezierPathやNSImageを使 用 必要に応じてQuartz OpenGLなども使用可能 カスタムビューの内部 を更新する setneedsdisplayinrect: または setneedsdisplay: メッセージを自身に送っ て drawrect: のコールを喚起する ビューの内容の一部を アニメ化する タイマーを設定するか あるいはNSAnimation NSViewAnimationなどのク ラスをしようする サイズ変更に対して逐 次的に対応する inliveresize メソッドを使ってユーザによるサイズ変更の際のビューの振る 舞いを指定する 印刷処理を行う drawrect:の中で currentcontextdrawingtoscreen または isdrawingtoscreen メソッドを使って現在の描画処理がスクリーンに対する ものか プリンタなどそれ以外のデバイスに対するものかを判断 NSGraphicsContextクラスのattriobutes メソッドで現在のプリントジョブ に関する情報を獲得できる ビューの内容からPDF あるいはEPSデータを 生成する datawithpdfinsiderect: または datawithepsinsiderect: を使用してそれ ぞれのデータを作成 必要があればdrawRect:の中で currentcontextdrawingtoscreen または isdrawingtoscreen メソッドを 使って描画対象を判断

グラフィックス ステートの情報 Cocoaのグラフィックス コンテキスト オブジェクトは それぞれ描画環境の現在のグラフィックス ス テートの情報を保持しています これらの情報は グローバルなレンダリングに関する設定から個々のパス のレンダリングに使用される属性まで及んでおり Quartzによって保存されるのと同じものです 以下の表 は 現在のグラフィックス ステート として savegraphicsstate メソッドが保存する情報の一覧で す 属性 説明 Current transformation matrix (CTM) ビュー上の座標から出力デバイス上の座標への変換マトリックス Cocoaはビュー に対してdrawRect: を送る前にこれを変更します プログラマがこれを変更するに はNSAffinbeTransform オブジェクトを使います Clipping area 描画命令の及ぶ領域 Cocoaはビューに対してdrawRect: を送る前に これをその ビューの 見えている部分 に設定します プログラマはNSBezierPathを使ってさ らにこの領域を限定することができます Line width 描線の幅 デフォルトは1.0 プログラマがこれを変更するにはNSBezierPathオブ ジェクトを使用します Line join style 描線の連結部分の形状 デフォルトはNSMiterLineJoinStyle プログラマがこれを 変更するにはNSBezierPathオブジェクトを使用します Line cap style 描線の末端の形状 デフォルトはNSButtlineCapStyle プログラマがこれを変更す るにはNSBezierPathオブジェクトを使用します Line dash style 点線 破線など描線のパタン デフォルトのパタンというものは用意されていない ので 結果的に実線になります プログラマがこれを変更するにはNSBezierPathオ ブジェクトを使用します Line miter limit 描線の連結部分にNSMiterLineJoinStyleが設定されている時の 尖らせる限界 デフォルトでは2線のなす角が10.0度以下の場合 NSBevelLineJoinStyleが使用さ れます プログラマがこれを変更するにはNSBezierPathオブジェクトを使用しま す Flatness value 曲線描画時の正確さ あるいは流麗さ の値 デフォルトは0.6 小さくなるほどな めらかな曲線が得られるが計算時間もかかる プログラマがこれを変更するには NSBezierPathオブジェクトを使用します Stroke color 描線色 プログラマはシステムがサポートするカラースペースから任意の色を選んで 設定することができます 設定にはNSColorクラスを使用します Fill color 塗り潰し色 プログラマはシステムがサポートするカラースペースから任意の色を選 んで設定することができます 設定にはNSColorクラスを使用します Shadow レンダリングしたエレメントの影 設定にはNSShadowクラスを使用します Rendering intent 現在のカラースペースにおける全色をマップする方法を指定 Cocoaはこれを直接設 定する機能をサポートしていないので プログラマはQuartzを使用する必要があり ます

属性 説明 Font name テキストデータを描くためのフォントの指定 プログラマがこれを変更するには NSFont クラスを使用します Font size テキストデータを描くためのフォントサイズの指定 プログラマがこれを変更する にはNSFont クラスを使用します 注意 交差したパスで形作られる領域を塗り潰すためのワインディング ルールは現在のところグラフィッ クス ステートの一部として保存されません プログラマは NSBezierPath のオブジェクトに対してド フォルトのワインディング ルールを指定できますが それはそのオブジェクトにしか適用されません スクリーン キャンバスとプリント キャンバス Cocoaのグラフィックス コンテキスト オブジェクトは広義で二種類のキャンバス スクリーン ベース とプリント ベースに分けられます スクリーン ベースのオブジェクトはウインドウ ビュー そしてイ メージに対して描画を行い その結果は通常スクリーンに出力されます 対してプリント ベースのオブ ジェクトはプリンタ スプール ファイル PDFファイル ポストスクリプトファイル EPSファイルなど に描画を行い その結果はプリンタなどの印刷機器に出力されます Cocoaはこれらのほとんどに対して自動的に適切なグラフィックス コンテキスト オブジェクトを用意し ます しかしながら ごくまれにプログラマが手動でグラフィックス コンテキストのオブジェクトを作成 し 利用しなければならない場合があります それは 描画にOpenGLを使用する場合 オフスクリーン ビットマップを描画する場合 PDFファイル あるいはEPSファイルを作成する場合 プログラムから印刷を実行する場合 ドローイングに際してスクリーン ベースのグラフィックス コンテキスト オブジェクトを作成するに は NSGraphicsContext のクラスメソッドを使います プリント ベースのオブジェクトは作成できませ んので注意してください Cocoaにおける印刷処理は全て そのコンテキストのセットアップを制御する Cocoaプリンティング システムを介して行われます このことはPDF EPSファイルを生成したり プリ ンタを使って印刷を行う場合には NSPrintOperationクラスを使用してプリントジョブを生成しなければ ならないこと そしてその内容を印刷される可能性のあるビューは プリントに関する最小限の処理を用意 しておかなければならないことを意味しています 注意 Cocoaは OpenGLグラフィックス コンテキストも自動的に作成しますが その場合デフォルト ピクセル フォーマット オプションは制限されます 多くの場合 プログラマは自分でこの制限なしのコ ンテキストを生成したくなるでしょう プログラマは NSGraphicsContext のインスタンスメソッド isdrawingtoscreen あるいはクラスメ ソッド currentcontextdrawingtoscreen を使用することで 現在のコンテキストがスクリーン ベース かプリント ベースかを知ることができます また プリント ベースの場合 それが今PDFファイルを生 成しているのか あるいはEPSファイルなのかなどの情報も得ることが可能です

NSRect cocoarect = *(CGRect*)&myCGRect;