使WordPress成为核心

开的2年前

关闭14个月前

上次修改时间6个月前

#55070 关闭 缺陷(bug) (固定的)

图像编辑裁剪工作不正常

报告人: 安迪786的个人资料 安迪786 所有者: 亚当·西尔弗斯坦的简介 亚当西尔弗斯坦
里程碑: 6.2 优先: 正常的
严重程度: 正常的 版本: 5.9
组件: 媒体 关键词: has-patch接口 has-屏幕截图 has-testing-info(有测试信息) 犯罪
重点: 复写的副本:

描述

如果正在编辑、裁剪并保存媒体中上传的任何图像。它确实被保存了。但处理后显示的最终图像是原始图像本身。但正确的部分应该是,最终图像应始终显示为编辑后的图像。

当我们裁剪任何图像两到三次时,就会出现这些问题。

附件(2)

无标题.mp4(8.0 MB)-添加人安迪786 2年前.
图像裁剪问题的屏幕录制视频
55070.diff文件(934字节)-添加人亚当西尔弗斯坦 15个月前.

更改历史记录(38)

@安迪786
2年以前

图像裁剪问题的屏幕录制视频

这张票是在松弛(Slack)antpb的#core-media中。查看日志.


2年以前

#2 @蚂蚁党
2年以前

  • 关键词 需要修补程序补充
  • 里程碑已从更改等待审查6

证实在我这边看到了这种行为。当您裁剪图像并进入附加详细信息页面时发生。它使用旧作物。即使关闭模态并再次打开图像,也没有什么好运气。

#3 @桑克乔达瓦迪亚
2年以前

@antpb我已经调试了这个问题,下面是我的发现。

如果裁剪到1024px x 1024px(大图像尺寸)以下,就会出现此问题。
因此,下面的大图像是用作物重新生成的,但比这更大的图像是原封不动的。

核心文件中媒体模板.php https://github.com/WordPress/WordPress/blob/ca76abd7e838b5760bc010d4ad3a38e693696667/wp-includes/media-template.php#L360-L361号
当图像在从未裁剪的附件详细信息弹出窗口中打开时,将显示大尺寸图像。

此外,在修剪时make_subsize(…)>_调整大小(…)或调整大小(..)函数运行时抛出WP_Error错误_获取_维度.

#4 @安托万夫拉森科
2年以前

我能够重现这个错误。
我正在开发一个补丁,我会尽快提交。

这张票是在采购订单号2489WordPress/WordPress-develop开发通过安东·弗拉森科.


2年以前
#5

  • 关键词 has-patch接口补充;需要修补程序远离的

#6 @安托万夫拉森科
2年以前

测试步骤本公关:

  1. 将相对较大的图像上传到媒体剪辑库(至少2000x1500像素)。用更大的图像来测试这个问题更容易。
  2. 单击图像。
  3. 单击图像下方的“编辑图像”按钮。
  4. 裁剪图像(使用图像上方的“裁剪”按钮)。
  5. 裁剪后的图像大小应约为400 x 400像素。
  6. 保存裁剪的图像(单击“保存”按钮)。
  7. 您应该能够看到裁剪的图像。在修复之前,WordPress将显示原始图像,而不是裁剪后的图像。
  8. [附加步骤]您可以再次裁剪图像并观察其显示是否正确。
上次编辑时间2年前通过安托万夫拉森科(以前的)(差异)

#8 @铁编程器
2年以前

  • 关键词 has-屏幕截图补充

测试报告

公关2489LGTM!👍🏻

环境

  • WordPress 6.0字母52448-src
  • 野生动物园15.4
  • 铬100.0.4896.60
  • macOS 12.3.1(蒙特雷)
  • 古腾堡残疾人🔴

测试步骤

  1. 低于设置>媒体设置,检查当前配置的“大尺寸”图像尺寸(默认为1024x1024)。
  2. 将非常大的图像上载到媒体>媒体库(任何超过上面配置的“大尺寸”的操作都应该有效)。
  3. 上传后,使用所选图像单击编辑图像按钮。
  4. 单击作物按钮,然后使用图像上覆盖的手柄调整裁剪,或通过在图像裁剪>选择侧栏。将作物设置为小于站点配置的“大尺寸”,然后单击作物再次应用更改。观察显示的图像是否刷新为裁剪版本。
  5. 单击保存按钮。观察图像刷新并显示原始未裁剪版本。
  6. 🛠应用修补程序,然后刷新媒体库第页。
  7. 通过单击恢复原始未裁剪图像编辑图像,然后展开恢复原始图像侧栏并单击还原图像。(或者,上传一个新的超大图像以使用。)
  8. ℹ️ 关闭图像查看器并重新选择图像以将其重新打开(这是必要的,因为在恢复后裁剪工具不会重置为原始尺寸。)
  9. 单击作物按钮,然后使用图像上覆盖的手柄调整裁剪,或通过在图像裁剪>选择侧栏。将作物设置为小于站点配置的“大尺寸”,然后单击作物再次应用更改。观察显示的图像是否刷新为裁剪版本。
  10. 单击保存按钮。观察图像刷新并显示裁剪后的版本。

预期结果(✅)

  • 将大图像裁剪为小于站点配置的“大尺寸”后,图像预览将显示裁剪的图像。

其他注意事项

上述测试是在“大尺寸”配置为1024x1024和1200x1200的情况下进行的。

屏幕截图

https://cldup.com/mm_K00ocOX.png
对大图像进行裁剪(步骤9)。

https://cldup.com/WGl2Ybq6O8.png
预览中显示的裁剪图像(步骤10)。

#9 @成本开发
2年以前

  • 里程碑已从更改66.1

随着6.0 RC1即将启动,我将把它移到6.1里程碑。

这张票是在松弛(Slack)antpb的#core-media中。查看日志.


2年以前

#11 随访: @亚当西尔弗斯坦
2年以前

@antonvlasenko/@andy786-感谢您的错误报告和补丁。。。

为了澄清,这(只是)关于“编辑图像”屏幕中媒体库中显示的图像,对吗?

例如,当你在帖子中插入裁剪后的图像时,会使用正确的裁剪版本吗?

值得注意的是,WordPress在制作这些裁剪时保留了原始图像,因此显示原始未裁剪图像可能被视为预期行为(如果一致)。

上次编辑时间2年前通过亚当西尔弗斯坦(以前的)(差异)

#12 答复:11个 @铁编程器
2年以前

  • 关键词 has-testing-info(有测试信息)补充

回复亚当西尔弗斯坦:

为了澄清,这(只是)关于“编辑图像”屏幕中媒体库中显示的图像,对吗?

👍🏻 是的,作物应用并保存后。

例如,当你在帖子中插入裁剪后的图像时,会使用正确的裁剪版本吗?

👍🏻 是的,裁剪后的图像就是最终插入到帖子中的内容。

值得注意的是,WordPress在制作这些裁剪时保留了原始图像,因此显示原始未裁剪图像可能被视为预期行为(如果一致)。

该问题是由于发现了不一致而引发的。当用户裁剪图像时更大的与配置的“大图像”介质大小相比,图像预览可以准确地反映应用的裁剪效果,但在报告的条件下,预览可以反映作物。

就预期行为而言,我认为我们遵循的是,当用户准备插入图像时,所显示的预览是将插入到帖子中的内容的准确表示。

感谢您强调这是一个显示问题,但不影响最终图像或帖子。🙌🏻

#2013年 @安托万夫拉森科
2年以前

@亚当西尔弗斯坦

为了澄清,这(只是)关于“编辑图像”屏幕中媒体库中显示的图像,对吗?

是的,没错。它只与媒体库中显示的图像有关。

例如,当你在帖子中插入裁剪后的图像时,会使用正确的裁剪版本吗?

老实说,我不知道用户在帖子中插入图像时使用的是哪个版本的图像。
我从未对此进行过调查,因为它不在这张trac罚单的范围内。
依我所见如果post图像有一个问题,必须有一个单独的trac问题和一个新补丁。

#14 @安托万夫拉森科
2年以前

@铁编程器

是的,裁剪后的图像就是最终插入到帖子中的内容。

我想澄清一下,这样就不会有误解了。
我的公关不会影响图片的哪个版本被插入到帖子中。
这种逻辑仍然存在不变因为这个trac票据没有报告显示post图像的任何问题。

上次编辑时间2年前通过安托万夫拉森科(以前的)(差异)

#15 @亚当西尔弗斯坦
22个月以前

  • 所有者设置为亚当西尔弗斯坦
  • 状态已从更改新的分配

这张票是在松弛(Slack)antpb的#core-media中。查看日志.


19个月以前

#17 @蚂蚁党
19个月以前

  • 里程碑已从更改6.16.2

这张票的公关似乎仍在进行中。一个小时后有了Beta 1,我将把它移到6.2,以便在下一个版本中继续关注它。如果此版本可行,请随时将其移回6.1!

#18 @安托万夫拉森科
19个月以前

@antpb谢谢你的分类。
就发展而言,该公关是完整的。
应该决定这种修复bug的方法是否适合社区。

#20 @亚当西尔弗斯坦
15个月以前

嘿@antonvlasenko-谢谢你的耐心。

我再次查看了您的公关,虽然它确实解决了显示问题,但感觉过于复杂。

潜在的问题是在此场景中没有裁剪大图像,代码当前使用的是大图像。我在55070.diff文件(也在https://github.com/WordPress/WordPress-development/pull/3985网址)-切换到使用满的调整编辑模式预览的图像大小(而不是大的).

在我的测试中,这解决了您提出的问题,而全尺寸总是可以获得作物。我还测试了旋转,并且在保存预览后始终正确。这确实会导致加载可能更大的图像,但这仍会限制在较大的图像阈值,并且无论在编辑上下文中如何都可能很好-如果我们使用全尺寸,图像实际上会在高dpi屏幕上以更高的保真度显示。

请您检查并验证这是否解决了您报告的问题。另外,欢迎对此处使用全尺寸图像而非大尺寸图像的方法提出任何反馈意见。

#21 @亚当西尔弗斯坦
15个月以前

  • 关键词 报告人反馈补充

#22 @安托万夫拉森科
15个月以前

谢谢你的评论,@adamsilverstein。

我再次查看了您的公关,虽然它确实解决了显示问题,但感觉过于复杂。

恐怕我无法理解这是多么的复杂。
我的解决方案从“大”和“完整”图像中解析“作物ID”。
如果这些裁剪ID不匹配(意味着Large图像已过时),它将用Full图像替换Large图片。
这种方法的优点是它允许WordPress仍然使用大图像(如果适用)。

坦白地说,我对这两个提议的公关都不太满意,因为它们都掩盖了潜在的问题。
我认为适当的解决方案是,如果完整图像的尺寸小于大图像的尺寸,则删除大图像。
然而,我不知道实现它是否会破坏向后兼容性。
我想我可以在本周的某个时候提交一份新的公关,或者至少调查一下是否可以这样修复它。
你对此有什么看法?

根本问题是在这种情况下没有裁剪大图像,并且代码当前使用的是大图像。

是的,我理解.

请您检查并验证这是否解决了您报告的问题。

我已经看过你的个人简历了。谢谢。

#23个 @安托万夫拉森科
15个月以前

因此,可以通过更换
$meta['sizes']=array_merge($meta['sizes'],$img->multi_resize($_sizes));
具有
$meta['sizes']=$img->multi_resize($_sizes));
在里面src/wp-admin/includes/image-edit.php.
但不可能用这种方式修复,因为https://core.trac.wordpress.org/ticket/22985网址.
它将打破BC。
“我已经批准了你的公关,”亚当·西尔弗斯坦说道。
我将很快添加我的测试报告。

@桑克乔达瓦迪亚

此外,当make_subsize(…)>_resize(…)或resize函数运行时进行裁剪时,它会抛出WP_Error Error_getting_dimensions。

IMO这很好,因为图像_尺寸_尺寸()如果调整后的图像大于原始图像,则无法计算其尺寸。

上次编辑时间15个月前通过安托万夫拉森科(以前的)(差异)

#24 @安托万夫拉森科
15个月以前

测试报告

补丁测试:https://github.com/WordPress/WordPress-development/pull/3985网址

环境

  • 操作系统:macOS 13.1
  • Web服务器:Apache 2
  • 菲律宾比索:8.1.14
  • 新闻稿:6.2-alpha-54642-src
  • 浏览器:Safari 16.2
  • 主题:二十二点三分
  • 没有活动插件

步骤

  1. 将相对较大的图像上传到媒体剪辑库(至少2000x1500像素)。用更大的图像来测试这个问题更容易。
  2. 单击图像。
  3. 单击图像下方的“编辑图像”按钮。
  4. 裁剪图像(使用图像上方的“裁剪”按钮)。
  5. 裁剪后的图像大小应约为400 x 400像素。
  6. 保存裁剪的图像(单击“保存”按钮)。

实际结果

  1. WordPress显示裁剪后的图像(而不是旧版本)。
上次编辑时间15个月前通过安托万夫拉森科(以前的)(差异)

#25 @安托万夫拉森科
15个月以前

  • 关键词 报告人反馈远离的

这张票是在松弛(Slack)antpb的#core-media中。查看日志.


14个月以前

#27 @成本开发
14个月以前

  • 严重程度已从更改批评的正常的

@亚当西尔弗斯坦:当我们接近6.2 Beta 4时,你能看一下未来几天的最新评论吗?看看这一个是否很快就可以登陆,或者是否应该迁移到未来版本? 谢谢!


  • 改变严重程度批评的正常的,因为这是显示哪个图像的问题,而不是裁剪功能本身的问题。

这张票是在松弛(Slack)由mukeshpanchal27完成的核心测试。查看日志.


14个月以前

这张票是在松弛(Slack)antpb的#core-media中。查看日志.


14个月以前

#30 @亚当西尔弗斯坦
14个月以前

  • 关键词 犯罪补充

#31 @亚当西尔弗斯坦
14个月以前

我们在今天的媒体聊天中对此进行了讨论,并查看了最新的修补程序。我会把这件事做好的。

#32 @hellofrom托尼亚
14个月以前

@adamsilverstein Beta 4是本次发布的最后一个计划测试版,刚刚发布。此修复对于6.2是否至关重要?

#33 @成本开发
14个月以前

  • 里程碑已从更改6.26.3

随着Beta 4的发布,@adamsilverstein通过Slack确认这不是6.2的关键修复,将此问题移至6.3。

#34 @亚当西尔弗斯坦
14个月以前

  • 里程碑已从更改6.36.2

因为我们明天将进行beta 5测试,所以我将继续提交此错误修复。

#35 @亚当西尔弗斯坦
14个月以前

  • 分辨率设置为固定的
  • 状态已从更改分配关闭

55470:

媒体:改进媒体编辑器中裁剪图像的显示。

裁剪图像并返回附件页面后,正确显示编辑内容。

更喜欢满的超过大的在编辑图像屏幕上调整图像大小。

Props andy786、antpb、sanketchodavadiya、antonvlasenko、铁程序员。
修复#55070.

注:请参见TracTickets公司有关使用的帮助门票。