我正在编写一个脚本来获取图片库
我已经有一个文件夹的图像,一些肖像,一些风景。
这个脚本在foreach循环中运行,以生成一个图片库。
我可以创建一个完全相同大小的图像,并用以下代码覆盖我的水印
$im = imagecreatefromjpeg($path);
$font = $font_path;
$size = 25;
$data = getimagesize($path);
$width = $data[0];
$height = $data[1];
// watermark positioning
if($width > $height){
$width = $width / 8;
$width = $width * 2;
} else {
$width = $width / 8;
$width = $width * 1.2;
}
$height = $height / 8;
$height = $height * 4.35;
// end watermark positioning
$temp_file = rand(100000000, 999999999).'.jpg';
# calculate maximum height of a character
$bbox = imagettfbbox($size, 0, $font, 'ky');
$x = 8; $y = 8 - $bbox[5];
$x = $x + $width;
$y = $y + $height;
$text = 'WATERMARK TEXT';
shadow_text($im, $size, $x, $y, $font, $text);
imagejpeg($im, $temp_dir.'/'.$temp_file, 90);这段代码工作得很好,但是每个图像都保存为原始大小(通常很大-这会浪费带宽,因为我只需要gdlib生成的图像很小)
我的问题是,有些是风景,有些是肖像。
图像应该是方形的,如果是风景画,则顶部和底部为黑色水平边框,如果是肖像画,则为黑色垂直边框
我想为每个图像的div,一个内部的div,一个图像(200x200px)和下面的专辑名称。
我可以使用其中的图像来创建div,只需要一行
style="display: inline;"但是,只要我在div中添加任何文本,它们就会跳到每个图像一行。
这可能会变得更加困难,因为im在joomla模板中使用自定义的php/html,所以css已经设计好了。
关于我该怎么做,有什么建议吗?
我基本上希望它看起来像易趣‘画廊视图’的线,当你搜索....
谢谢你们!
发布于 2013-02-27 19:43:35
您应该使用imagecopyresampled来重新缩放图像,以获得缩略图。
当您调整图像大小时,您可以检测横向/纵向并添加top+bottom带或left+right带,或者仅将图像中心保留为缩略图。
将原始图像保存在一个地方,并在另一个地方创建缩略图,以使其准备就绪。
https://stackoverflow.com/questions/15111057
复制相似问题