在JS中图片的真实尺寸是如何获取的

在JS中图片的真实尺寸是如何获取的,第1张

        var pic = new Image();

        picsrc = ;

        piconload = function () {

            consolelog(picwidth);

        }

项目的需求是上传一张,然后验证该的尺寸,如果跟预期的不符,就不给上传

首先,可以通过new FileReader(),再通过将上传的文件传给实例的readAsDataUrl(),当文件加载完成触发onload事件,传递event,通过eventtargetresult来获取的链接(base64格式的)

接着,new Image()实例,将上面获取的链接设置为的src属性,当加载完成触发onload事件就可以通过width、height属性来读取的长宽啦~~

的长宽相乘就是的大小。

的分辨率常见的有640 x 480、1024 x 768、1600 x 1200、2048 x 1536。在成像的两组数字中,前者为宽度,后者为的高度,两者相乘得出的是的像素。长宽比一般为4:3。

分辨率和图象的像素大小有直接的关系,一张分辨率为640 x 480的,那它的分辨率就达到了307200,也就是我们常说的30万像素,而一张分辨率为1600 x 1200的,它的像素就是200万。这样,就知道,分辨率表示的是在长和宽上占的点数的单位。

扩展资料:

常见的图像尺寸。

30万 640×480

50万 800×600

80万 1024×768 5” (35×5英寸)

130万 1280×960 6” (4×6英寸)

200万 1600×1200 8”(6×8英寸) 5”(35×5英寸)

310万 2048×1536 10”(8×10寸) 7”(5×7英寸)

430万 2400×1800 12”(10×12英寸) 8”(6×8英寸)

500万 2560×1920 12”(10×12英寸) 8”(6×8英寸)

600万 3000×2000 14”(11×14英寸) 10”(8×10寸)

800万 3264×2488 16”(12×16英寸) 10”(8×10寸)

1100万 4080×2720 20”(16×20英寸) 12”(10×12英寸)

1400万 4536×3024 24”(18×24英寸) 14”(11×14英寸)

获得文件大小大概有两种解决方法:

(一)使用documentgetElementById或者documentcreateElement的或者var img=new Image();

然后在onreadystatechange事件里检查大小

但这种代码通用性不强浏览器兼容存在问题一直无法解决

(二)使用FSO控件,但这样存在安全问题

<div id="photoyn"><input id="file1" type="file" onchange="ShowSize(thisvalue)" />

<script type="text/javascript">

function ShowSize(files){

var fso,f;

fso=new ActiveXObject("ScriptingFileSystemObject");

f=fsoGetFile(files);

var mySize = fsize/1024;

alert(mySize+" K ");

var myName = fName;

var myPath = fPath;

var myDrive = fDrive;

var myType = ftype;

var myAttributes = fAttributes;

var myDateCreated = fDateCreated;

}

</script>

所以说要在客户端检测文件大小没有实现方法。

最终解决方案还是在服务器端检测,在上传的过程中,在服务器的内存中进行判断并返回信息给客户端。

简单方法就是 ActualHeight SacleY还有一个方法稍微麻烦些,就是用 GeneralTransformTransform(Point point),或者TransformBounds大概思路看下面的方法。public Rect GetBounds(FrameworkElement of, FrameworkElement from){// Might throw an exception if of and from are not in the same visual treeGeneralTransform transform = ofTransformToVisual(from);return transformTransformBounds(new Rect(0, 0, ofActualWidth, ofActualHeight));}

1、控制大小和位置

/

获取对话框的窗口对象及参数对象以修改对话框的布局设置,

可以直接调用getWindow(),表示获得这个Activity的Window

对象,这样这可以以同样的方式改变这个Activity的属性

/

Window dialogWindow = dialoggetWindow();

WindowManagerLayoutParams lp = dialogWindowgetAttributes();

dialogWindowsetGravity(GravityLEFT | GravityTOP);

/

lpx与lpy表示相对于原始位置的偏移

当参数值包含GravityLEFT时,对话框出现在左边,所以lpx就表示相对左边的偏移,负值忽略

当参数值包含GravityRIGHT时,对话框出现在右边,所以lpx就表示相对右边的偏移,负值忽略

当参数值包含GravityTOP时,对话框出现在上边,所以lpy就表示相对上边的偏移,负值忽略

当参数值包含GravityBOTTOM时,对话框出现在下边,所以lpy就表示相对下边的偏移,负值忽略

当参数值包含GravityCENTER_HORIZONTAL时

,对话框水平居中,所以lpx就表示在水平居中的位置移动lpx像素,正值向右移动,负值向左移动

当参数值包含GravityCENTER_VERTICAL时

,对话框垂直居中,所以lpy就表示在垂直居中的位置移动lpy像素,正值向右移动,负值向左移动

gravity的默认值为GravityCENTER,即GravityCENTER_HORIZONTAL |

GravityCENTER_VERTICAL

本来setGravity的参数值为GravityLEFT | GravityTOP时对话框应出现在程序的左上角,但在

我手机上测试时发现距左边与上边都有一小段距离,而且垂直坐标把程序标题栏也计算在内了,

GravityLEFT, GravityTOP, GravityBOTTOM与GravityRIGHT都是如此,据边界有一小段距离

/

lpx = 100; // 新位置X坐标

lpy = 100; // 新位置Y坐标

lpwidth = 300; // 宽度

lpheight = 300; // 高度

lpalpha = 07f; // 透明度

// 当Window的Attributes改变时系统会调用此函数,可以直接调用以应用上面对窗口参数的更改,也可以用setAttributes

// dialogonWindowAttributesChanged(lp);

dialogWindowsetAttributes(lp);

/

将对话框的大小按屏幕大小的百分比设置

/

// WindowManager m = getWindowManager();

// Display d = mgetDefaultDisplay(); // 获取屏幕宽、高用

// WindowManagerLayoutParams p = getWindow()getAttributes(); // 获取对话框当前的参数值

// pheight = (int) (dgetHeight() 06); // 高度设置为屏幕的06

// pwidth = (int) (dgetWidth() 065); // 宽度设置为屏幕的095

// dialogWindowsetAttributes(p);

<img id="_img" src="abcjpg" >

<script type="text/javascript">

function getWH(){

var id="_img";

var w=0;

var h=0;

// 具有较好的通用性

var real= documentgetElementById(id)height || documentgetElementById(id)styleheight || documentgetElementById(id)offsetHeight;

h=parseInt(real);

real= documentgetElementById(id)width || documentgetElementById(id)stylewidth || documentgetElementById(id)offsetWidth;

w=parseInt(real);

alert("w:"+w+" ; h:"+h)

}

getWH();

</script>

以上就是关于在JS中图片的真实尺寸是如何获取的全部的内容,包括:在JS中图片的真实尺寸是如何获取的、js如何获取图片的尺寸、怎么知道照片的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9680816.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存