Twip ⇔ Pixel 相互変換するには?

解決


NA101W  2007-10-17 19:42:34  No: 137849

初めまして

掲題の通りですが、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で作成中です。
よろしくお願いします。


大吉末吉  2007-10-17 20:07:28  No: 137850

> こちらでいうところの解像度
は、画面の場合、「画面のプロパティ」の「詳細設定」で指定する。
「DPIの設定」の事では・・・
#画面の「96DPI」の設定が多いですね。

> Twip ⇔ Pixel相互変換プログラム
???わざわざ「プログラム」なんか必要ないと思うのですが・・・

「Screen.TwipsPerPixelX」「Screen.TwipsPerPixelY」が、

> Twips = (Pixel / 解像度) * 1440  
を式変換した
> Twips = Pixel * (1440/解像度)
の「(1440/解像度)」に成りますから・・・

単純に、
「Screen.TwipsPerPixelX」「Screen.TwipsPerPixelY」
を掛けたり、割ったりするだけ・・・

#又は、「ScaleX、ScaleY メソッド」で一発変換とか・・・


NA101W  2007-10-17 20:27:03  No: 137851

大吉末吉様

有難うございます。
なんか物凄く勘違いしていたみたいでお恥ずかしいです。
一人で混乱していました。

下記のようにしてみました。

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


NA101W  2007-10-17 20:27:49  No: 137852

済み^^;


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加