初めまして
掲題の通りですが、Twip ⇔ Pixel相互変換プログラムを作成しております。
Twipの公式は下記サイトに
http://dobon.net/vb/bbs/log3-10/5849.html
Twips = (Pixel / 解像度) * 1440 と記載されておりました。
ということは、
Pixel = (Twips * 解像度) / 1440 となるかと思います。
こちらの公式を利用し、作成中なのですが、
こちらでいうところの解像度とは、
Screen.Width / Screen.TwipsPerPixelX のことでしょうか?
Screen.Height / Screen.TwipsPerPixelY のことでしょうか?
VB6.0で作成中です。
よろしくお願いします。
> こちらでいうところの解像度
は、画面の場合、「画面のプロパティ」の「詳細設定」で指定する。
「DPIの設定」の事では・・・
#画面の「96DPI」の設定が多いですね。
> Twip ⇔ Pixel相互変換プログラム
???わざわざ「プログラム」なんか必要ないと思うのですが・・・
「Screen.TwipsPerPixelX」「Screen.TwipsPerPixelY」が、
> Twips = (Pixel / 解像度) * 1440
を式変換した
> Twips = Pixel * (1440/解像度)
の「(1440/解像度)」に成りますから・・・
単純に、
「Screen.TwipsPerPixelX」「Screen.TwipsPerPixelY」
を掛けたり、割ったりするだけ・・・
#又は、「ScaleX、ScaleY メソッド」で一発変換とか・・・
大吉末吉様
有難うございます。
なんか物凄く勘違いしていたみたいでお恥ずかしいです。
一人で混乱していました。
下記のようにしてみました。
Private Sub Command1_Click()
'Text1=Pixel:Text2=Twip
If Text1.Text <> "" And Text2.Text = "" Then
Text2.Text = Screen.TwipsPerPixelY * Text1.Text
ElseIf Text1.Text = "" And Text2.Text <> "" Then
Text1.Text = Text2.Text / Screen.TwipsPerPixelX
End If
End Sub
済み^^;
ツイート |