it-swarm.cn

将图像大小调整为编辑器中使用的实际大小?

有没有办法将图像调整为实际尺寸,它们将在帖子中显示?我有用户导入大图像,然后在可视化编辑器中调整大小。这很简单,因为他们只需拖动图像直到它们想要的大小,而无需先打开图像编辑器,调整图像大小,保存图像,然后将其作为单独的附件上传。当然,这有时会导致帖子中的图像宽度为100px,但实际上是1500px。

是否有一个插件可以在保存新帖子时执行此操作?我想保留现有的全尺寸图像(用于链接或稍后调整大小),但只需添加一个额外的大小(并将其保存在_wp_attachment_metadata对象中),因此这篇文章的图像大小正确,并且参考到全尺寸附件。

当然,所有现有职位也应该处理一次。 <img>标签可能只有一个width,只有一个height,或者没有一个:这应该全部清理掉,所以它们都有正确的widthheight和一个大小的图像。

20
Jan Fabry

我创建了两个插件,它们可以共同解决我的需求。他们目前处于早期alpha阶段,欢迎所有评论。

基本插件是 按需调整器 。此插件监视上载目录中对不存在文件的请求,并根据需要创建所请求大小的图像。例如,image-200x100.jpg将创建并返回image.jpg,但调整为200 x 100像素。图像由该名称保存在目录中,因此服务器会直接处理其他请求。

第二个插件, 调整img标签 ,修改<img>标签,使其src属性包括宽度和/或高度数据。这允许第一个插件提供正确的图像。他们一起做我想做的事情,我只需要创建一个run-once函数来转换所有现有帖子,但这应该很容易(我不想挂钩the_content只能运行一次)。

第三个“奖励”插件, 虚拟中间图像 ,在WordPress中上传新图像时拦截中间图像的创建。由于它们仍然是由第一个插件创建的,如果请求,这允许您指定多个图像大小而不占用磁盘空间,除非实际使用它们。这两个首先不需要这个,但它是一个简单的添加,它突出了我仍然需要解决WordPress图像编辑器的事实,但我会在创建 我的缩略图编辑器时这样做 ,这也将使用第一个插件。

11
Jan Fabry

我在插件目录中搜索了"resize""crop"(后者为 另一个问题 ),并在 公开的Google电子表格中注明了我的发现 插件搜索的结果编号非常混乱("resize"搜索的最后一页显示“显示271个插件中的145-150”),所以我可能错过了一些。半相关说明:每个人似乎都认为世界需要另一个幻灯片插件。很少有人意识到content_save_pre可能是比the_content更好的过滤器来进行重度解析。

我还没有测试过任何这些插件,但这里有一个插件列表似乎可以做我想要的。我在括号中添加了“Compatible up to”版本号。

个人想法: 前四个重写URL到动态页面(类似/wp-content/plugins/my-plugin/image.php?src=[original src]&w=100&h=50),具有不同形式的缓存。我更喜欢根据需要创建的真实图像,类似于ImageScaler所采用的方法。但是,我会将其拆分(并在评论中包含hakre的建议)并首先将所有URL从/wp-content/uploads/2010/11/image.jpg重写为/wp-content/uploads/2010/11/image-100x50.jpg,然后让脚本创建缺少的图像。对此图像的第一个请求创建图像,所有后续请求都使用此创建的图像。这也允许我在不同的插件之间拆分功能。我将在单独的答案中发布此解决方案。

这些插件将图像限制为特定的最大大小(这与指定$content_width有何不同?):

  • JP-redesign-images ,检查热链接和超大图像(仅当它们太大时,如果它们只是调整大小,则不会)(3.0.1)
  • Hungred Image Fit ,检查太大的图像(3.0.0)

由于其他原因,以下插件很有趣:

这是社区维基文章,因此如果您找到新的插件,它可以更新。

4
Jan Fabry

Wordpress提供三种可配置的默认大小(小,中,大)。如果您使用这些,Wordpress会创建调整大小的副本。使用它们并设置数字以使它们符合当前风格可能是一种很好的风格。这导致图像在整个页面上没有不同的大小,并且在主题改变时允许全局调整。

0
Raphael

最近发布的 Image Pro 插件似乎就是这样做的。还没有测试过自己,demo看起来非常令人印象深刻,注意浏览器兼容性差(仅适用于Firefox)。

0
Rarst

如何利用timthumb和传递变量来自动更改图像大小/尺寸和缩放级别?这样仍可以保持原始图像大小。如果你需要一些这方面的例子,请告诉我。

0
NetConstructor.com