DOBON.NET DOBON.NETプログラミング掲示板過去ログ

twip→ピクセルに変換する方法

環境/言語:[VB.NET]
分類:[.NET]

いつもお世話になっております。
.NET からサイズをピクセルで指定するようになったようですが
VB6で作成したシステムを変換する都合上、twipで記述されて
いる部分が多く、twip→ピクセルに変換する方法があれば便利だ
なと思っているのですが、方法がわかりません。
どうかご教授お願い致します。
■No5849に返信(イニさんの記事)
> いつもお世話になっております。
> .NET からサイズをピクセルで指定するようになったようですが
> VB6で作成したシステムを変換する都合上、twipで記述されて
> いる部分が多く、twip→ピクセルに変換する方法があれば便利だ
> なと思っているのですが、方法がわかりません。
> どうかご教授お願い致します。

検索くらいしてください。
http://www.google.co.jp/search?hl=ja&ie=UTF-8&q=Twip%E3%81%8B%E3%82%89%E3%83%94%E3%82%AF%E3%82%BB%E3%83%AB&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=

まあ、FrameworkにConvertメソッドがあるやもしれませんが。
すいません。検索して調べてはみたのですがVB6の方法が使えないようなので投稿しました。

VB6では以下の方法で変換できたようですが
Screen.TwipsPerPixelX, Screen.TwipsPerPixelY(1ピクセルあたりのtwip数)で取得
.NETでは以下のページによると
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vxconchangestoscreenobjectinvisualbasicnet.asp
対応する項目はありません。Visual Basic .NET では、座標がピクセルで表され、twip は単位として使用されません。
との事でTwipsPerPixelXがつかえません。
■No5854に返信(イニさんの記事)
> すいません。検索して調べてはみたのですがVB6の方法が使えないようなので投稿しました。
>
> VB6では以下の方法で変換できたようですが
> Screen.TwipsPerPixelX, Screen.TwipsPerPixelY(1ピクセルあたりのtwip数)で取得
> .NETでは以下のページによると
> http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vxconchangestoscreenobjectinvisualbasicnet.asp
> 対応する項目はありません。Visual Basic .NET では、座標がピクセルで表され、twip は単位として使用されません。
> との事でTwipsPerPixelXがつかえません。

この辺を参考にして欲しいと言う意味だったのですが?

http://www.mb.ccnw.ne.jp/garger-studio/vbgame/013.html

で、この「公式」を関数化すれば良いのでは?
1ピクセルあたりのTwips数は、PCの環境により変化するそうなので
その1ピクセルあたりのTwips数をもとめることができればと思うの
ですが。
■No5859に返信(イニさんの記事)
> 1ピクセルあたりのTwips数は、PCの環境により変化するそうなので
> その1ピクセルあたりのTwips数をもとめることができればと思うの
> ですが。

ああ、そういう意味でしたか...
失礼致しましたm(_ _)m お許しくださいませ...

えっと、Twipsの「公式」は以下ではなかったですか?
Twips = (Pixel / 解像度) * 1440

解像度は一応求めれますので、これらを関数化する方法ではダメなのでしょうか?

# 誤差は当然でるとは思うのですが...
ありがとうございます。
公式が判れば解決しそうです。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板