重新生成缩略图wordpress GAE

时间:2013-09-07 05:14:37

标签: php wordpress google-app-engine thumbnails google-cloud-storage

我需要能够在wordpress上重新生成缩略图。由于Google App Engine上的wordpress使用Google云端存储架构,因此插件“重新生成缩略图”不起作用。我的整个模板依赖于不同大小的图像。 是否有解决此问题的Google应用引擎插件的修改?

我可以将我需要的所有尺寸添加到我在GAE插件的函数image_sizes()中找到的这个集合中吗?

$images = [
                'thumb' => [
                    'width' => intval( get_option( 'thumbnail_size_w' ) ),
                    'height' => intval( get_option( 'thumbnail_size_h' ) ),
                    'crop' => (bool) get_option( 'thumbnail_crop' )
                ],
                'medium' => [
                    'width' => intval( get_option( 'medium_size_w' ) ),
                    'height' => intval( get_option( 'medium_size_h' ) ),
                    'crop' => false
                ],
                'large' => [
                    'width' => intval( get_option( 'large_size_w' ) ),
                    'height' => intval( get_option( 'large_size_h' ) ),
                    'crop' => false
                ],
                'full' => [
                    'width' => null,
                    'height' => null,
                    'crop' => false
                ]
            ];

由于

1 个答案:

答案 0 :(得分:1)

好的,所以wordpress的GAE插件会覆盖image_downsize函数,该函数调用一个类方法image_sizes()来构建上面显示的数组$ images。 $ images与全局变量$ _wp_additional_image_sizes连接,后者包含我认为需要手动添加到数组的大小列表。

所以,我回答了我的问题,同时也搞清楚图像是从谷歌云存储中检索出来的,参数= sXX-c被传递到网址,其中XX是图像宽度和高度之间的最大值,-c告诉裁剪图像。

此处链接:https://developers.google.com/appengine/docs/python/images/functions 以下是解释参数的部分:

网址修改:

= SXX 要调整图像大小,请将= sXX附加到图像URL的末尾,其中XX是0-1600之间的整数,表示新的图像大小(以像素为单位)。最大大小在IMG_SERVING_SIZES_LIMIT中定义。 API将图像调整为提供的值,将指定的大小应用于图像的最长尺寸并保留原始高宽比。例如,如果使用= s32调整1200x1600图像的大小,则生成的图像为24x32。如果该图像为1600x1200,则调整大小的图像将为32x24像素。

= SXX-C 要裁剪图像并调整图像大小,请将= sXX-c附加到图像URL的末尾,其中XX是0-1600之间的整数,表示新的图像大小(以像素为单位)。最大大小在IMG_SERVING_SIZES_LIMIT中定义。 API将图像调整为提供的值,将指定的大小应用于图像的最长尺寸并保留原始高宽比。如果图像是纵向的,则API从顶部和底部均匀切片以形成正方形。如果图像是横向的,则API从左侧和右侧均匀切片以形成正方形。裁剪后,API会将图像调整为指定大小。

我的解决方案是坚持google存储检索的大小,并做一些CSS工作。 (www.pukkaball.com)