Difference between revisions of "love.window.fromPixels (简体中文)"

m (Fixed parent)
Line 2: Line 2:
 
把数字从像素单位转换为像素密度无关单位。
 
把数字从像素单位转换为像素密度无关单位。
  
窗口内的像素密度可能比窗口的“大小”更大(或更小)。例如通过[[love.window.setMode]] 启用在Mac OS X 上的Retina屏幕的<code>highdpi</code> ,窗口会使用相同的800x600的物理窗口大小,但窗口的内部区域使用1600x1200像素。
+
窗口内的设备像素可能比窗口的大小更大(或更小)。若在Mac OS X 上的Retina屏幕通过[[love.window.setMode]] 启用<code>highdpi</code> ,窗口会占用800x600的窗口大小,但窗口的内部区域使用1600x1200像素。
  
那样的话<code>love.window.fromPixels(1600)</code> 将返回 <code>800</code> 。
+
在这种情况下<code>love.window.fromPixels(1600)</code> 将返回 <code>800</code> 。
  
  
这个函数转换坐标从像素到用户期望的在屏幕上显示的大小。[[love.window.toPixels]]函数则相反。在Mac OS X 和 iOS平台上,<code>highdpi</code>的window flag必须被启用,以使用Retina屏幕的全像素密度。
+
这个函数把以像素为单位的坐标转换为屏幕上点的坐标。[[love.window.toPixels]]函数则相反。在Mac OS X 和 iOS平台上,<code>highdpi</code>的window flag必须被启用,以使用Retina屏幕的全像素密度。
  
 
这个标志在Windows 和 Linux上不产生影响,但在Android上总是启用的。
 
这个标志在Windows 和 Linux上不产生影响,但在Android上总是启用的。
  
大多数的 LÖVE 函数返回值及参数期待像素单位而不是像素无关单位。
+
大多数的 LÖVE 函数返回值及参数用的是像素单位而不是设备无关单位(DIP)。
 
 
(Most LÖVE functions return values and expect arguments in terms of pixels rather than density-independent units. )
 
  
 
== Function ==
 
== Function ==
Line 21: Line 19:
 
</source>
 
</source>
 
=== Arguments ===
 
=== Arguments ===
{{param|number|pixelvalue|将要转换成像素无关单位的一个以像素为单位的数字。}}
+
{{param|number|pixelvalue|要转换成设备无关单位的一个以像素为单位的数字。}}
 
=== Returns ===
 
=== Returns ===
{{param|number|value|The converted number, in density-independent units.}}
+
{{param|number|value|转换后的数字,以设备无关单位为单位。}}
  
 
== Function ==
 
== Function ==
Line 31: Line 29:
 
</source>
 
</source>
 
=== Arguments ===
 
=== Arguments ===
{{param|number|px|The x-axis value of a coordinate in pixels.}}
+
{{param|number|px|以像素为单位的横坐标。}}
{{param|number|py|The y-axis value of a coordinate in pixels.}}
+
{{param|number|py|以像素为单位的纵坐标。}}
 
=== Returns ===
 
=== Returns ===
{{param|number|x|The converted x-axis value of the coordinate, in density-independent units.}}
+
{{param|number|x|转换后的横坐标,以设备无关单位为单位。}}
{{param|number|y|The converted y-axis value of the coordinate, in density-independent units.}}
+
{{param|number|y|转换后的纵坐标,以设备无关单位为单位。}}
  
 
== Notes ==
 
== Notes ==
The units of [[love.graphics.getWidth]], [[love.graphics.getHeight]], [[love.mouse.getPosition]], mouse events, [[love.touch.getPosition]], and touch events are always in terms of pixels.
+
[[love.graphics.getWidth]], [[love.graphics.getHeight]], [[love.mouse.getPosition]],鼠标事件,[[love.touch.getPosition]],以及触摸事件总是以像素为单位的。
  
 
== See Also ==
 
== See Also ==
 
* [[parent::love.window (简体中文)]]
 
* [[parent::love.window (简体中文)]]
* [[love.window.toPixels]]
+
* [[love.window.toPixels (简体中文)]]
* [[love.window.getPixelScale]]
+
* [[love.window.getPixelScale (简体中文)]]
* [[love.window.setMode]]
+
* [[love.window.setMode (简体中文)]]
 
* [[Config Files]]
 
* [[Config Files]]
  
 
[[Category:Functions]]
 
[[Category:Functions]]
{{#set:Description=Converts a number from pixels to density-independent units.}}
+
{{#set:Description=把以像素为单位的数字转换为设备无关单位。}}
 
== Other Languages ==
 
== Other Languages ==
 
{{i18n|love.window.fromPixels}}
 
{{i18n|love.window.fromPixels}}

Revision as of 11:30, 22 December 2016

Available since LÖVE 0.9.2
This function is not supported in earlier versions.

把数字从像素单位转换为像素密度无关单位。

窗口内的设备像素可能比窗口的大小更大(或更小)。若在Mac OS X 上的Retina屏幕通过love.window.setMode 启用highdpi ,窗口会占用800x600的窗口大小,但窗口的内部区域使用1600x1200像素。

在这种情况下love.window.fromPixels(1600) 将返回 800


这个函数把以像素为单位的坐标转换为屏幕上点的坐标。love.window.toPixels函数则相反。在Mac OS X 和 iOS平台上,highdpi的window flag必须被启用,以使用Retina屏幕的全像素密度。

这个标志在Windows 和 Linux上不产生影响,但在Android上总是启用的。

大多数的 LÖVE 函数返回值及参数用的是像素单位而不是设备无关单位(DIP)。

Function

Synopsis

value = love.window.fromPixels( pixelvalue )

Arguments

number pixelvalue
要转换成设备无关单位的一个以像素为单位的数字。

Returns

number value
转换后的数字,以设备无关单位为单位。

Function

Synopsis

x, y = love.window.fromPixels( px, py )

Arguments

number px
以像素为单位的横坐标。
number py
以像素为单位的纵坐标。

Returns

number x
转换后的横坐标,以设备无关单位为单位。
number y
转换后的纵坐标,以设备无关单位为单位。

Notes

love.graphics.getWidth, love.graphics.getHeight, love.mouse.getPosition,鼠标事件,love.touch.getPosition,以及触摸事件总是以像素为单位的。

See Also

Other Languages