vb.net缇转换像素的简单介绍-古蔺大橙子建站
RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
vb.net缇转换像素的简单介绍

vb中的尺寸单位是什么? 怎么跟象素换算呢?

默认是缇,1英寸=1440缇

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站建设、三门峡网络推广、重庆小程序开发、三门峡网络营销、三门峡企业策划、三门峡品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供三门峡建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

若想转换为Pixel的话

例:

Option Explicit

Private Sub Form_Load()

MsgBox "缇宽度:" Form1.Width

Dim lPixel As Long

lPixel = Form1.Width / Screen.TwipsPerPixelX

MsgBox "Pixel宽度:" lPixel

End Sub

vba窗体单位是像素还是TWIP

不同环境的默认计量单位:VB中是缇,VBA中是磅,API中是像素。

这些计量单位的换算是:1缇=1/20磅,1磅=4/3像素,而1缇=1/15像素。

;replyid=133063id=122736page=1skin=0Star=2

46像素转换成VB中用的度量单位-缇 是多少?

缇的定义是1缇=1/20点(point)

点的定义是1点=1/72逻辑英寸

正常尺寸(96DPI)下:1英寸=96像素(可以在桌面上点右键,从”属性-设置-高级-常规-DPI设置”中看到)

如果在大尺寸(120DPI)下,1英寸=120像素

由此可以得到,在正常尺寸下:

a)

1像素=1/96逻辑英寸=0.75(72/96)点=15(20*0.75)缇

在大尺寸(120DPI)下

b)

1像素=1/120逻辑英寸=0.6点=12缇

VB中利用API获取屏幕DPI值和1像素等于多少缇

无须API,VB本身的功能就能完成:

Private Sub Form_Click() '点击窗体运行

Dim dpi_x As Single, dpi_y As Single, px_twip As Single

dpi_x = Me.ScaleX(Screen.Width, 1, 3) / Me.ScaleX(Screen.Width, 1, 5)

dpi_y = Me.ScaleY(Screen.Height, 1, 3) / Me.ScaleY(Screen.Height, 1, 5)

px_twip = Me.ScaleX(1, 3, 1)

Print "DPI_X = "  dpi_x

Print "DPI_Y = "  dpi_y

Print "1像素 = "  px_twip  "缇"

End Sub

vb.net保存图片时如何调整其分辨率

保存前加一句 myImage2.SetResolution(300, 300) 你设置的bMape不是保存的主画布 所以无效,设置分辨率就是 SetResolution(X,Y)

VB获得任务栏高度

Screen.Height / Screen.TwipsPerPixelX ---这是把屏幕的绝对高度单位由缇转为像素

(Screen.Height / Screen.TwipsPerPixelX) - rectVal.Bottom ---这是把屏幕高度减去工作区高度(计算结果就是任务栏的高度了,单位为像素)

((Screen.Height / Screen.TwipsPerPixelX) - rectVal.Bottom) * Screen.TwipsPerPixelX ---这是把上述计算结果的单位由像素转为VB默认的缇

补充说明:此语句存在下属错误或缺陷:

1、任务栏并不是固定在屏幕下方的,也可以是上边、左边或右边的(尽管很少有人这么做),如果出现后面这些情况,那么程序的计算结果就是不准确的;

2、计算工作区的高度(或宽度)时,要把Bottom-Top(或Right-Left),因为Top(或Left)是不一定为0的(见上述1);

3、Screen.TwipsPerPixelX用错了,应该是Screen.TwipsPerPixelY,前者是屏幕横向每像素多少缇,是用来转换屏幕宽度单位的,后者则是屏幕纵向每像素多少缇,这才是用来转换屏幕高度单位的。不过在绝大部分情况下,这两个值是相等的(都是15),所以程序运行结果不会出错,但是作为程序必须严谨,因为说不定你的程序要运行在一些特殊的屏幕上呢(这时候两个值就不一定相等了)?


分享文章:vb.net缇转换像素的简单介绍
浏览地址:http://scgulin.cn/article/hedcep.html