PHP 8.3.0 RC 6 available for testing

imagesx

(PHP 4, PHP 5, PHP 7, PHP 8)

imagesx取得图像宽度

说明

imagesx(GdImage $image): int

返回指定 image 对象的宽度。

参数

image

由图象创建函数(例如imagecreatetruecolor())返回的 GdImage 对象。

返回值

返回 image 的宽度。

更新日志

版本 说明
8.0.0 image 现在需要 GdImage 实例;之前需要有效的 gd resource

示例

示例 #1 使用 imagesx()

<?php

// create a 300*200 image
$img = imagecreatetruecolor(300, 200);

echo
imagesx($img); // 300

?>

参见

add a note

User Contributed Notes 3 notes

up
6
leonardo AT saochico DOT com
19 years ago
This function convert image size of Pixel to Centimeter

<?
#$imagem - source of image
#$dpi - resolution to convert E.g.: 72dpi or 300dpi

function px2cm($image, $dpi) {
#Create a new image from file or URL
$img = ImageCreateFromJpeg($image);

#Get image width / height
$x = ImageSX($img);
$y = ImageSY($img);

#Convert to centimeter
$h = $x * 2.54 / $dpi;
$l = $y * 2.54 / $dpi;

#Format a number with grouped thousands
$h = number_format($h, 2, ',', ' ');
$l = number_format($l, 2, ',', ' ');

#add size unit
$px2cm[] = $h."cm";
$px2cm[] = $l."cm";

#return array w values
#$px2cm[0] = X
#$px2cm[1] = Y
return $px2cm;
}

$image = "C:\\inetpub\\wwwroot\\lab\\trata_img\\l0gik.jpg";
$dpi = 300;

$result = px2cm($image, $dpi);

print ($result[0]." x ".$result[1]);
?>
up
-5
kris
19 years ago
You can in fact convert pixels to CM or to whatever measurement you want if you know the DPI and current resolution of the image. This will of course give you the real life print size of the image and not the actual on screen size of the image.

This function seems to have been created for such a purpose. It is for this reason the creator of the function passes the DPI and resolution to his function.
up
-10
anC
19 years ago
You can't convert pixels into centimeters or something else, atleast without knowing the resolution and the size of your screen and the viewrange of it. For example: The pixels on monitor that's resolution is 1024*768 and size is 17' the size of a pixel is smaller than on the monitor that's resolution is 1024*768 too but size is 21'.
To Top