固定大小的缩略图,如 twitpic.com

发布于 2024-10-21 06:49:25 字数 119 浏览 1 评论 0原文

如何在 GD 中创建固定尺寸(高度/宽度)的图像/缩略图?

我知道有很多 php 脚本,但只是缩放它,高度/宽度总是不同的大小。

我喜欢 twitpic.com 和 facebook 等缩略图

How do you create a fixed size (height / width) of images/thumbnails In GD?

I know there is a lot of php scripts out there but that just scale it and height/width will always be different size.

I like the thumbnail like twitpic.com and facebook

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

只想待在家 2024-10-28 06:49:25

您需要使用 getimagesize 获取图像的高度和宽度

,然后使用 imagecopyresized 调整其大小

其余的都是使用 GD 完成的相同基本工作加载和保存图像。

这是一个基本的例子,如果你想考虑高度/宽度比,那么你必须做一些额外的数学计算。

<?php
header("Content-type: image/png");

$size = getimagesize($filename);
$image     = imagecreatefrompng($filename);
$thumbnail = imagecreate(100,100);
imagecopyresized($thumbnail, $image, 0, 0, 0, 0, 100, 100, $size[0], $size[1]);
imagepng($thumbnail);
imagedestroy($image);
imagedestroy($thumbnail);

You need to get the height and width of the image using getimagesize

and then resize it using imagecopyresized

The rest is all the same basic work done with GD to load and save the image.

Here's a basic example, if you want to take into account height/width ratios, then you have to do some additional maths.

<?php
header("Content-type: image/png");

$size = getimagesize($filename);
$image     = imagecreatefrompng($filename);
$thumbnail = imagecreate(100,100);
imagecopyresized($thumbnail, $image, 0, 0, 0, 0, 100, 100, $size[0], $size[1]);
imagepng($thumbnail);
imagedestroy($image);
imagedestroy($thumbnail);
并安 2024-10-28 06:49:25

使用缩略图器很容易:

$th=new Thumbnailer("your-photo.jpg");
$th->thumbSquare(100)->save("thumb.jpg");

It's easy with Thumbnailer:

$th=new Thumbnailer("your-photo.jpg");
$th->thumbSquare(100)->save("thumb.jpg");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文