MajorなMeasure 囚人.

Slides:



Advertisements
Similar presentations
本プレゼンテーション ( 以下、本書 ) で提供されている情報は、本書が 発表された時点における Microsoft の見解を述べたものです。市場 ニーズの変化に対応する必要があるため、本書は記載された内容の実 現に関する Microsoft の確約とはみなされないものとします。また本 書に記載された情報の正確さについて、保証するものではありません。
Advertisements

初年次セミナー 第13回 2次元グラフィックス(1).
上手なプレゼンのための ワンポイント・アドバイス
Cornell Spectrum Imagerの使い方
WPF で作る!! 仮想化支援技術確認ツール CLR/H ひよひよ Crystal Dew World
TeX で数式を書くための PowerPoint アドイン Ver (2011/06/26) Ver. 0.1 (2007/5/30)
PROCESS 14:一般情報(2) InstallShieldLecture
PC作業の一時停止 ●「スタンバイ(サスペンド)」: メモリには電源が供給される。実行中のデータがそのままメモリに保持されるため、作業を中断した状態から 数秒で再開ができる。省電力。 操作: 「スタート」→「電源オプション」→「スタンバイ」とクリックする。 ●「休止状態」: メモリの内容をハードディスクに退避してから全デバイスの電源をオフ。作業を中断した状態からの再開ができる。ノートPCでは電池が消耗しない。
図の挿入 ●方法1 ①図を挿入する位置にカーソルを置く。 ②「挿入」メニュー →「図」 → 「ファイルから」とクリックする。 ③挿入するファイルを選択し、「挿入」をクリックする。 ●方法2(書式までコピーされるので、ファイルサイズが大きくなる) ①挿入する図をコピーする。 ② 挿入する位置にカーソルを移動し、ツールバーまたは右クリックメニューの「貼り付け」をクリックする。
図の挿入 ●方法1 ①図を挿入する位置にカーソルを置く。 ②「挿入」タブ ⇒「図」 → 「ファイルから」とクリックする。 ③挿入するファイルを選択し、「挿入」をクリックする。 ●方法2(書式までコピーされるので、ファイルサイズが大きくなる) ①挿入する図をコピーする。 ② 挿入する位置にカーソルを移動し、ツールバーまたは右クリックメニューの「貼り付け」をクリックする。
IT講習会 MicrosoftWord(2007ver.)編 (Wed) Edited by KON
REIMEI EISA Viewerの使い方
下左近研究室 ゼミ資料 ホームページの作り方(基礎編)
デスクトップを画像として保存する(1) ① デスクトップの画像をクリップボードへコピーする。
ファイルやフォルダを検索する ①「スタート」→「検索」→「ファイルとフォルダ」とクリックする。
コントロールパネル ◎コントロール パネル: コンピュータのさまざまな機能を設定するための画面
Imageの描画 画像を読み込んで表示すること。 import java.awt.*;が必要。
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
文字書式設定(1) 方法1: ①文字書式を設定したい文字列を選択する。 ②「書式」メニュー → 「フォント」とクリックする。
コントロールパネル ◎コントロール パネル: コンピュータのさまざまな機能を設定するための画面
Microsoft PowerPointを使ってみよう
Microsoft Office 2010 クイックガイド ~Access編~
アプレット (Applet)について.
画像の作成と編集.
デスクトップを画像として保存する(1) ① デスクトップの画像をクリップボードへコピーする。
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
Visual Studio LightSwitchの概要
今回学ぶこと ちょっとした復習 基本的な編集機能 一歩進んだ編集機能 画面のロック ウィンドウを並べる フォントについて 文字列の切り貼り
実習1:コマンドシェルの使い方.
パートナー様向け 仕事のご説明資料 関係者外秘 (他の方に絶対に開示しないでください).
コンピュータ プレゼンテーション.
組織サイト用バナー テンプレート(大) 組織サイト名 組織サイト名 サブタイトル 半透明部分
Basic Calculus The Greeks Measure the Universe [4]
初めてのTSF 囚人.
基礎プログラミング演習 第10回.
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
第1回.リレーショナルデータベースを使ってみよう
第1回.リレーショナルデータベースを使ってみよう
WPFの初歩の初歩 うつせみ(虚蝉).
WPFの初歩の初歩 うつせみ(虚蝉).
TCanvas BCB:TCanvasクラスでグラフィックを扱う。 TFormなどもプロパティとして持っている。
音声 他のユーザーを通話に招待する オーディオ デバイスをセットアップする IM の会話に音声を追加する 通話を開始する
オペレーティングシステムⅡ 第13回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
タグを使ったウェブページ作成 兵庫県立伊丹北高等学校 佐藤 勝彦.
段落書式設定 段落とは: Enterキーを押すまでに入力した文字列や図などのまとまり
12.数値微分と数値積分.
実物投影機の使い方 その① テレビにつないでみよう。.
ゲーム開発モデルの基礎.
初めてのTSF 囚人.
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
児童・生徒の発表内容を パワーポイントに表示しよう ―アクティブラーニングのために
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
図の作成・編集のこつ By 小笠原 適当に加筆修正すべし.
スライドの作り方(悪い例) 菊池涼介は素晴らしいセカンドです。とにかく守備が素晴らしくて,ボールを捕ってから投げるまでが本当に早いです。今シーズンの守備率は,.993でリーグトップです。彼の守備の特徴は,とにかく守備範囲が広いことと,守備をするときのポジションがいいこと,それから送球がとにかく早いことが挙げられ,観客の目をくぎ付けにする魅せる守備をやってくれます。
基礎プログラミング演習 第6回.
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
某有名落ちものゲーム っぽいものを作ってみる
某有名落ちものゲーム っぽいものを作ってみる
画面への描画 Graphics オブジェクト 紙 ペン Pen オブジェクト Brush オブジェクト 画面のピクセルをカプセル化
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
ウェブデザイン演習 第6回.
第5章 まだまだ続く反復処理!! ~繰り返しその2 for~
43 43 A子 敵対記号:オートシェイプのフリーフォームをクリックし、上下させながらクリックを繰り返す。
How To WPF アプリケーション Part4 By 中博俊.
Molecular Devices Japan
スライドの終わりまでテキストが繰り返しスクロールされます • スライドの終わりまでテキストが繰り返しスクロールされます •
文字フォントについて.
サンプル見出し テキスト 1 行目 テキスト 2 行目 テキスト 3 行目 (中級) 図の背後でタイトルを移動させるアニメーション効果
情報スキル活用 第6週 制作技術-1 情報の記述と画面のデザイン.
How To WPF アプリケーション Part3 By 中博俊.
Presentation transcript:

MajorなMeasure 囚人

Windowsフォーム(GDI+)の測定 WPFの測定 アジェンダ 72や96って? Win32(GDI)の測定 Windowsフォーム(GDI+)の測定 WPFの測定

72、96 何か知ってますよね

96 72 Windows の一般的な DPI DPI・・・1インチ辺りのドット数 でも、今私が使っているノートPCのモニタは12.1インチで1024x768 (1024^2+768^2)/12.1≒105 要するに、Windowsは96ドットで1インチだと思っているが、実際は105ドットで1インチ 「ペイント」をチェックしてみよう 72 フォントの1ポイントは1/72インチ

定義 論理DPI…画面設定のDPI 真DPI…LCDの推奨総ピクセル数とLCDの大きさより求めたもの ペイントDPI…MSペイントで表示されるDPI

マッピングモードの違いによる GDI の描画 内側から72px,81px,85px,90px,96px,120pxの正方形 1インチの直線も描画

WM_PAINTの処理 SetMapMode(hdc, MM_TEXT); SelectObject(hdc, GetStockObject(NULL_BRUSH)); MoveToEx(hdc, 0, 1, NULL); Rectangle(hdc, 0, 0, 72, 72); MoveToEx(hdc, 0, 5, NULL); Rectangle(hdc, 0, 0, 81, 81); MoveToEx(hdc, 0, 10, NULL); Rectangle(hdc, 0, 0, 85, 85); MoveToEx(hdc, 0, 15, NULL); Rectangle(hdc, 0, 0, 90, 90); MoveToEx(hdc, 0, 20, NULL); Rectangle(hdc, 0, 0, 96, 96); MoveToEx(hdc, 0, 25, NULL); Rectangle(hdc, 0, 0, 120, 120); SelectObject(hdc, CreatePen(PS_SOLID, 1, RGB(255, 0, 0))); SetMapMode(hdc, MM_LOENGLISH); MoveToEx(hdc, 0, -10, NULL); LineTo(hdc, 100, -10);

Windws XP の違い 論理120DPI 真85 DPI(1024x768 15インチ) ペイント90DPI 論理96DPI 真?DPI(Virtual PC) ペイント81DPI 論理96DPI 真?DPI(Virtual PC) ペイント81DPI

Windws Vista の違い 論理96DPI 論理120DPI 真94 DPI(1920x1200 24インチ)

GDI における 1 インチとは ※ GetDeviceCaps(hdc, HORZRES)ピクセル単位の画面の幅 1インチ = GetDeviceCaps(hdc, HORZRES) / (GetDeviceCaps(hdc, HORZSIZE) / 25.4) XP では環境による。Vista では 72 固定 この数値を簡単に知るにはペイントを使う。 決して真のDPIではない。 ※ GetDeviceCaps(hdc, HORZRES)ピクセル単位の画面の幅 ※ GetDeviceCaps(hdc, HORZSIZE)mm単位の画面の物理幅(正確ではない)

正確に1インチを描画するには? ユーザーに情報を入力してもらう(モニタのサイズ、現在の総ピクセル数)。 マッピングモードMM_TEXTで、上記情報より正確なピクセル数を計算する。 他のマッピングモードでは、論理的な1インチになってしまう。

ボタンなどのサイズはピクセル単位でしか指定できない。 フォントのサイズは論理DPIに基づく。 故にDPIを変更するとフォントだけ大きくなる。

Windowsフォーム描画(OnPaint の処理) Graphics g = e.Graphics; g.DrawRectangle(p, 0, 0, 96, 96); g.DrawRectangle(p, 0, 0, 120, 120); g.PageUnit = GraphicsUnit.Inch; Pen p2 = new Pen(Color.Black, 0.05f); g.DrawLine(p2, 0, 1, 1, 1);

Windowsフォームの DPI による違い Windows Forms における1インチは論理DPIに基づく。

Windowsフォームの自動スケーリング 96DPI 120DPI 開発時点のDPIやシステムフォントの大きさを記録しておき、実行時にそれらを調べて、各要素のサイズを調整する。 開発時点の情報を記録するので、できれば各開発環境のDPIやシステムフォントの大きさは揃えておいた方が良い。 http://msdn2.microsoft.com/ja-jp/library/ms229605.aspx Windowsフォームにおける自働スケーリング

WPF に導入された新しい単位 -デバイス非依存ピクセル どのような環境であれ、1デバイス非依存ピクセルは1/96インチとなる。 描画、コントロールのサイズ、フォントのサイズ、あらゆる測定がデバイス非依存ピクセルとなる。 96DPIの環境で、96デバイス非依存ピクセルの直線は96物理ピクセル 120DPIの環境で、96デバイス非依存ピクセルの直線は120物理ピクセル フォントのサイズ指定がこれまでと違う! Silverlight は相変わらず1単位=1物理ピクセル

WPF で直線を描画 <Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300"> <Grid> <Line X1="0" X2="96" Y1="10" Y2="10" Stroke="Black" /> </Grid> </Window>

WPF DPI の違い 96DPI 120DPI