Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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
Image Drupal动态调整图像大小_Image_Drupal_Drupal 7 - Fatal编程技术网

Image Drupal动态调整图像大小

Image Drupal动态调整图像大小,image,drupal,drupal-7,Image,Drupal,Drupal 7,是否可以动态调整图像大小并使用Drupal缓存结果 我有一些大图像(例如2000x2000px),我想显示100x100px的预览 我知道有一个函数。但它只创建大小合适的,而不能有效地调整图像大小 我看了一下modules/images/image.admin.inc,他们使用了函数[image\u style\u create\u derivative][2]是的,您应该使用Drupal的图像样式(配置->媒体->图像样式)。在那里你应该创造你的风格 然后,在前端,当您想要以该样式(以该分辨率

是否可以动态调整图像大小并使用Drupal缓存结果

我有一些大图像(例如2000x2000px),我想显示100x100px的预览

我知道有一个函数。但它只创建大小合适的
,而不能有效地调整图像大小


我看了一下modules/images/image.admin.inc,他们使用了函数
[image\u style\u create\u derivative][2]
是的,您应该使用Drupal的图像样式(配置->媒体->图像样式)。在那里你应该创造你的风格

然后,在前端,当您想要以该样式(以该分辨率)显示图像时,可以使用image\u style\u url()函数:

它接受两个参数——一个是图像样式机器名,另一个是图像URI,如果您打印出所有图像字段属性,就可以得到它

您还可以从后端界面选择图像样式…即。为某些图像创建视图时,可以选择以特定图像样式显示


在这两种情况下,这些图像样式都是在第一次使用图像时生成的。

对于您对米朗答案的评论,在后端使用图像样式url()是最好的选择。还有


这可能是值得研究的事情。从用户体验的角度来看,您不希望每次用户加载页面时都强制用户加载2000x2000像素的图像。不管输出的大小如何,图像仍将渲染为大尺寸的2000x2000 px图像。image\u style\u url()或在GUI中使用图像样式创建一个新文件,加载速度更快,这是首选方法。

感谢您的回答。您知道不使用Drupal后端的解决方案吗?只有通过使用PHP,您也可以通过使用PHP图像处理库(如GD库或image magic)自己完成。