MediaWiki:将css应用于图像

mlmc2os5  于 2023-04-08  发布在  其他
关注(0)|答案(1)|浏览(122)

bounty将在4天后到期。回答此问题可获得+100声望奖励。Ilmari Karonen正在寻找此问题的最新答案:最近有人否决了我的答案,我想这意味着它已经过时了,或者对他们没有帮助。我没有更好的给予,但是让我们看看如果我给它一些代表的话,其他人是否可以写一个。

我正在尝试在MediaWiki中放大图片:Pixel Dungeon。图像是像素艺术,所以我希望在缩放时保持清晰的边缘。我已经尝试应用此代码:

<span style="
    -ms-interpolation-mode:nearest-neighbor;
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;">
      [[File:myImage.png|96px]]
      <!-- I tried in a HTML document replacing above line with:
             <img src="myImage.png" width="96"/>
           this produced same result -->
</span>

这在Firefox中有效,但IE不会将span的样式应用到图像上,这意味着图像是模糊的。如何让图像具有span的样式或将样式直接应用到图像上?
我没有wiki的管理员权限,因此File:myImage.png将无法工作,因为我无法创建类。
(see http://pixeldungeon.wikia.com/wiki/Template:Pixel_image处实际页面)

yi0zb3m4

yi0zb3m41#

老实说,你最好的办法可能是让你的wiki上的管理员在你的wiki上的MediaWiki:Common.css中添加必要的CSS规则。像下面这样的东西应该可以做到:

img.pixelart {
    -ms-interpolation-mode: nearest-neighbor;
    image-rendering: -moz-crisp-edges;
    image-rendering: -o-crisp-edges;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

这将允许您使用[[File:myImage.png|96px|class=pixelart]]来获得一个漂亮的像素化图像。
如果你还停留在一个旧的MediaWiki版本上,它不支持向图片添加类,你可以通过将CSS选择器改为.pixelart img,并将wikitext改为例如:

<span class=pixelart>[[File:myImage.png|96px]]</span>

事实上,如果你维基上的大多数图像都是像素艺术,那么最简单的方法就是从CSS中完全省略.pixelart部分,这样缩放规则就会默认应用于所有图像。这不会影响以自然大小或更小的尺寸显示的图像的外观,因为MediaWiki无论如何都会在服务器端缩小它们。
Pps.在支持image-rendering: pixelated的现代浏览器中,使用image-rendering: pixelated可能比crisp-edges更适合像素艺术,我建议要么将其添加到上面列表的末尾(这样老的浏览器在不支持crisp-edges时仍然可以使用它),要么单独使用它。
MDNpixelated图像渲染模式的描述如下:
使用最近邻算法,将图像放大到大于或等于其原始大小的下一个整数倍,然后缩小到目标大小,如smooth。当放大到原始大小的整数倍时,这将具有与crisp-edges相同的效果。

相关问题