像 Meta 一样添加缩放图片按钮

I’d like to have the same “scale-btn” functionality on my Discourse install as is here on Meta.

What exactly is that, a plugin? If so, does it have a name? Or it’s an unreleased version of Discourse?

I guess it’d doesn’t resample the images, just makes the browser display them at lower ratio, which is exactly what I’m looking for in all my Retina macOS screenshots. Inserting a 2x screenshot has always been a pain in Discourse, and this is exactly the perfect solution for it.

Not a plugin or theme component, an awesome new core feature @maja added :confetti_ball:

Just upgrade to tests-passed

6 个赞

Cool, it’s working now. One issue though is that now Retina images are used and encouraged, the built-in resizing should also take care of that.

What I mean by that is that I have a screenshot, which is 1206x514 in 2x size or 603x257 in 1x size. If I upload it to my forum (or here) it automatically gets resized to 689x294, which is a very odd size. Odd, because it’s bigger than 1x size would be and also because it’s not an integer resize, so it’s blurry.

Once it’s in this size, I cannot use the 50% button as it’d be super tiny / unreadable, so I need to use the blurry/oversized 689 size.

1 个赞

That’s the max allowed width of images in posts. Change it via your site settings.

Images will always be resized (thumbnailed) to max width allowed in posts, which is only logical … how can you have a 3000px wide image in a post?

1 个赞

OK, I’ve changed that setting to 1380. There are two bugs related to that:

  • (minor) Already uploaded images cannot be reuploaded again, it remembers them (from hash I guess) and only offers the 689 size.
  • The new scale buttons’s CSS go outside the view when this setting is used to allow wider images. Also the aspect ratio is wrong unless on 50% settings.

1 个赞

I introduced this issue yesterday (I didn’t test it with really tiny images). This will be fixed shortly.

4 个赞

Nah, the better solution is not to show resizing options for tiny images. Having it inside the image is better.

Its more annoying to change that cause we can not do that in CSS afaik, we would need more code to add a bypass here for short images.

This is such an edge case though not sure it is even worth thinking about…

image

^^^ works just fine … and is sort of useful cause I get retina.

You need.

  1. Ultra short image

  2. First thing in the post

For this to happen, its almost like one is trying to break the system to prove it is broken :blush:

4 个赞

But this is actually a huge image, just tiny horizontally. How would I click 50% otherwise?

OK, I just checked and a single line of text before indeed solves it.
Also I cannot replicate the aspect ratio bug today, even though I’m trying with the very same image and I haven’t done anything with the site.

The thought was that you wouldn’t really ever want to do that on images that are also very short.

Regardless, I’ve changed the implementation to move the controls under the image (which in retrospect is a smarter way to do it).

So if you update your instance again the problem will go away

5 个赞

我最近遇到了一些行为,虽然这显然是当前预期的设计,但感觉有点……不对劲,与上述评论相关。

场景如下:

  • 在视网膜屏幕上截取一张大约 500 像素宽度的截图
    • 生成的图像宽度为 1000 像素
  • 上传到 Discourse
  • 图像被调整到 690 像素,现在看起来比原始图像更大

基于以上情况,我觉得除了现有的 100% / 75% / 50% 按钮外,还应该提供一个“2x”或“3x”选项。这将改变调整大小的优先级,首先尽可能以接近真实尺寸的方式呈现图像。

在上述场景中,如果提供选择“@2x”的选项,图像将以 500 像素显示,看起来大小真实,而不是 690 像素。

Lightbox 中的图像本身也是如此。我更希望它们以 @2x@3x 的视网膜状态打开。