Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当用户上传图像时,我如何使用css来最小化倾斜?_Css_Image_Styles - Fatal编程技术网

当用户上传图像时,我如何使用css来最小化倾斜?

当用户上传图像时,我如何使用css来最小化倾斜?,css,image,styles,Css,Image,Styles,我允许用户上传个人资料图片到他们的个人资料页面。化身的尺寸为100px 100px。如何在css中编辑我的img属性样式,以便在用户上传非完美方形的图像时,图像失真最小化?而不是正常更改其尺寸。即使重新采样,也会使图像失真。让用户裁剪他上传的图像(使用canvas/javascript),让PHP脚本根据从中获得的坐标裁剪图像 而不是正常更改其尺寸。即使重新采样,也会使图像失真。让用户裁剪他上传的图像(使用canvas/javascript),让PHP脚本根据从中获得的坐标裁剪图像 您可以像@T

我允许用户上传个人资料图片到他们的个人资料页面。化身的尺寸为100px 100px。如何在css中编辑我的img属性样式,以便在用户上传非完美方形的图像时,图像失真最小化?

而不是正常更改其尺寸。即使重新采样,也会使图像失真。让用户裁剪他上传的图像(使用canvas/javascript),让PHP脚本根据从中获得的坐标裁剪图像

而不是正常更改其尺寸。即使重新采样,也会使图像失真。让用户裁剪他上传的图像(使用canvas/javascript),让PHP脚本根据从中获得的坐标裁剪图像

您可以像@Truth noted那样在上传时裁剪图像,或者使用这样的脚本将原始大小的图像实时裁剪到您需要的任何尺寸。

您可以像@Truth noted那样在上传时裁剪图像,或者使用这样的脚本将原始大小的图像实时裁剪到您需要的任何尺寸需要它。

无需借助某种通过代码裁剪图像的方法,另一种方法是使用100px/100px
div
,将上传的图像设置为该div的背景,并将其水平/垂直位置集中设置


当然,您需要检查上传图像的文件大小,否则您可能会在一个页面上加载20个3Mb的配置文件图像。

无需通过代码裁剪图像,另一种方法是使用100px/100px
div
,并将上传图像设置为此div的背景,将其水平/垂直位置设置在中心位置


当然,您需要检查上传图像的文件大小,否则您可能会在一个页面上加载20个3Mb的配置文件图像。

在CSS中裁剪图像很简单--将其包装在DIV中并隐藏溢出:

div.imgwrapper {
    width: 100px;
    height: 100px;
    overflow: hidden;
}
但问题是,如果图像非常大,比如说600px乘以400px,那么你只能看到整个图像的一个小角落。如果图像小于100px乘以100px,则不会向上调整大小


解决这一问题的唯一(客户端)方法是使用JavaScript检测图像的尺寸,即使这样也会变得很棘手(因为只有在加载图像后才能检测图像尺寸,但如果没有进一步的技巧,就无法检测图像加载与缓存中的图像)。我不会详细介绍,因为您没有要求JS解决方案,但您可以。

在CSS中裁剪图像很简单--将其包装在DIV中并隐藏溢出:

div.imgwrapper {
    width: 100px;
    height: 100px;
    overflow: hidden;
}
但问题是,如果图像非常大,比如说600px乘以400px,那么你只能看到整个图像的一个小角落。如果图像小于100px乘以100px,则不会向上调整大小


解决这一问题的唯一(客户端)方法是使用JavaScript检测图像的尺寸,即使这样也会变得很棘手(因为只有在加载图像后才能检测图像尺寸,但如果没有进一步的技巧,就无法检测图像加载与缓存中的图像)。我不会详细说明,因为您没有要求JS解决方案,但您可以。

您如何知道图像是否需要调整?@mblase75:如果图像不是正方形。@Truth所有图像文件都是矩形的。“你是说你想让它们完全成直角吗?”他自己这么说。如果图像不是完美的正方形,请将失真降至最低。他还说,所有的图片都应该是100px x 100px。@事实上,他在标题中还使用了“歪斜”一词,这意味着完全不同的东西。我想确定他的意图。你怎么知道图像是否需要调整?@mblase75:如果图像不是正方形。@事实上,所有图像文件都是矩形的。“你是说你想让它们完全成直角吗?”他自己这么说。如果图像不是完美的正方形,请将失真降至最低。他还说,所有的图片都应该是100px x 100px。@事实上,他在标题中还使用了“歪斜”一词,这意味着完全不同的东西。我想确定他的意图。OP特别要求CSS解决方案,而不是PHP。OP特别要求CSS解决方案,而不是PHP。