避免拉伸照片
如何避免照片拉伸? PHP 从文件夹中随机选择 2 张照片并使用 echo
显示它们。但现在,所有肖像照片都被拉伸了。
<?php if(!empty($images)) {
$rand_key = array_rand($images, 1);
$src = $images[$rand_key];
echo "<img class=\"flickrphoto\" src='".$src."' align='absmiddle'>";
unset($images[$rand_key]);
$rand_key = array_rand($images, 1);
$src = $images[$rand_key];
echo "<img class=\"flickrphoto\" src='".$src."' align='absmiddle'>";
} else {
echo 'Error';
} ?>
和CSS:
.flickrphoto {
max-width: 100px;
max-height: 100px;
overflow: hidden;
}
**编辑**
当前代码:
// protrait calculations;
$size = getimagesize($images_folder_path);
if($size[0] < $size[1]) {
$orientation = 'portrait';
} else {
$orientation = 'landscape';
}
How can I avoid the stretching of my photos? PHP selects 2 photos at random from a folder and displays them using echo
. But right now, all photos in portrait, are stretched.
<?php if(!empty($images)) {
$rand_key = array_rand($images, 1);
$src = $images[$rand_key];
echo "<img class=\"flickrphoto\" src='".$src."' align='absmiddle'>";
unset($images[$rand_key]);
$rand_key = array_rand($images, 1);
$src = $images[$rand_key];
echo "<img class=\"flickrphoto\" src='".$src."' align='absmiddle'>";
} else {
echo 'Error';
} ?>
And the CSS:
.flickrphoto {
max-width: 100px;
max-height: 100px;
overflow: hidden;
}
** EDIT **
Current code:
// protrait calculations;
$size = getimagesize($images_folder_path);
if($size[0] < $size[1]) {
$orientation = 'portrait';
} else {
$orientation = 'landscape';
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我只是检查方向是否为直角并添加一个 css 类;
在你的CSS中是这样的:
I'd just check if the orientation is protrait or not and add a css class;
and in your css somthing like this:
这是一篇关于如何使用 CSS 和 HTML 保持宽高比的好文章:
http: //haslayout.net/css-tuts/CSS-Proportional-Image-Scale
另外,还有一个问题也给出了一些关于如何做到这一点的想法:
HTML - 显示尽可能大的图像,同时保持纵横比
基本上,您需要缩放高度或宽度,但不能同时缩放两者。
Here is a good article on how to maintain aspect ratio with CSS and HTML:
http://haslayout.net/css-tuts/CSS-Proportional-Image-Scale
Also, there is a SO question that gives a couple ideas on how to do this as well:
HTML - display an image as large as possible while preserving aspect ratio
Basically, you need to scale either height or width but not both.
将它们显示为
的背景,而不是
,
如下所示:
display them as background of a
<div>
instead of<img>
like this:
使用 php 函数 imagesx 和 imagesy,并将返回值作为图像标签的宽度和高度属性发出。
use php functions imagesx and imagesy, and emit the return values as the width and height attributes of the image tag.