我刚开始接触Markdown。我喜欢它,但有一件事困扰着我:如何使用Markdown更改图像的大小?

文档仅为图像提供以下建议:

![drawing](drawing.jpg)

如果可能的话,我希望图片也居中。我问的是Markdown将军,而不仅仅是GitHub是如何做到的。


如果您正在使用kramdown,可以执行以下操作:

{:.foo}
![drawing](drawing.jpg)

然后将其添加到自定义CSS中:

.foo {
  text-align: center;
  width: 100px;
}

您可以在Markdown中使用一些HTML:

<img src="drawing.jpg" alt="drawing" width="200"/>

或通过样式属性(GitHub不支持)

<img src="drawing.jpg" alt="drawing" style="width:200px;"/>

或者您可以使用自定义CSS文件,如以下关于Markdown和图像对齐的回答所述

![drawing](drawing.jpg)

另一个文件中的CSS:

img[alt=drawing] { width: 200px; }

你可以在kramdown中使用这个:

markdown
![drawing](drawing.jpg)   
{:.some-css-class style="width: 200px"}

or

markdown
![drawing](drawing.jpg)   
{:.some-css-class width="200"}

这样,您可以直接向最后一个html元素添加任意属性。要添加类,有一个快捷方式.class.secondclass。


对于某些Markdown实现(包括Mou和Marked 2(仅限macOS)),您可以在图形文件的URL后添加=WIDTHxHEIGHT以调整图像大小。不要忘记=前面的空格。

![](./pic/pic1_50.png =100x20)

您可以跳过高度

![](./pic/pic1s.png =250x)

和宽度

![](./pic/pic1s.png =x250)

这里公认的答案是,我迄今为止使用的应用程序(如Ghost、Stackdit.io或StackOverflow编辑器)中没有任何Markdown编辑器可用。我在StackEdit.io问题跟踪程序中找到了一个解决方法。

解决方案是直接使用HTML语法,它工作得很好:

<img src="http://....jpg" width="200" height="200" />

我编写了在Jekyll中使用自定义大小img标记的简单标记解析器的脚本。

https://gist.github.com/nurinamu/4ccf7197a1bdfb0d7079

{% img /path/to/img.png 100x200 %}

可以将文件添加到_plugins文件夹。


人们可以利用alt属性,该属性可以在几乎所有Markdown实现/渲染中设置,以及基于属性值的CSS选择器。优点是可以轻松定义一整套不同的图片大小(以及其他属性)。

标记:

![minipic](mypic.jpg)

CSS:

img[alt="minipic"] { 
  max-width:  20px; 
  display: block;
}

也许这一点最近有所改变,但Kramdown文档显示了一个简单的解决方案。

从文档中

Here is an inline ![smiley](smiley.png){:height="36px" width="36px"}.

And here is a referenced ![smile]

[smile]: smile.png
{: height="36px" width="36px"}

与Jekyll和Kramdown一起在github上工作。


只需使用:

<img src="Assets/icon.png" width="200">

而不是:

![](Assets/icon.png)

我知道这个答案有点具体,但它可能会帮助其他需要帮助的人。

由于许多照片是使用Imgur服务上传的,因此您可以使用此处详述的API来更改照片的大小。

当在GitHub问题评论中上传照片时,它将通过Imgur添加,因此如果照片非常大,这将非常有用。

基本上http://i.imgur.com/12345.jpg,你会把http://i.imgur.com/12345m.jpg对于中等大小的图像。


在Tiemes答案的基础上,如果您使用CSS 3,可以使用子字符串选择器:

此选择器将匹配以“-fullwidth”结尾的alt标记的任何图像:

img[alt$="-fullwidth"]{
  width:  100%;
  display: block;
}

然后,您仍然可以使用alt标记来描述图像。

上面的标记可能类似于:

![Picture of the Beach -fullwidth](beach.jpg)

我在Ghost markdown中使用过这个,而且效果很好。


当使用Flask时(我将其用于平面页面)。。。我发现,在markdown调用中的扩展中显式地启用(由于某种原因,默认情况下不是这样)“attr_list”可以实现这一点,然后可以使用属性(对于访问CSS也非常有用-例如,class=“my class”…)。

FLATPAGES_HML_RENDERER=prerender_jinja

以及功能:

def prerender_jinja(text):
    prerendered_body = render_template_string(Markup(text))
    pygmented_body   = markdown.markdown(prerendered_body, extensions=['codehilite', 'fenced_code', 'tables', 'attr_list'])
    return pygmented_body

然后在Markdown中:

![image](https://octodex.github.com/images/yaktocat.png "This is a tooltip"){: width=200px}

对于R-Markdown,以上两种解决方案都不适用于我,所以我转向了常规的LaTeX语法,这很好。

\begin{figure}
 \includegraphics[width=300pt, height = 125 pt]{drawing.jpg}
\end{figure}

然后,可以使用例如\ begin{center}语句将图像居中。


如果您正在为PanDoc编写MarkDown,可以执行以下操作:

![drawing](drawing.jpg){ width=50% }

这会将style=“width:50%;”添加到HTML<img>标记中,或将[width=0.5\textwidth]添加到LaTeX中的\includegraphics中。

资料来源:http://pandoc.org/MANUAL.html#extension-链接属性


有添加类和css样式的方法

!〔pic〕〔logo〕{.classname}

然后在下面写下链接和css

[logo]: (picurl)

<style type="text/css">
    .classname{
        width: 200px;
    }
</style>

此处引用


我来这里寻找答案。这里有一些很棒的建议。黄金信息指出markdown完全支持HTM1!

一个好的干净的解决方案总是使用纯html语法。使用标签。

但我仍然试图坚持markdown语法,所以我尝试将其包装在一个标记周围,并在div标记中添加我想要的图像属性。它奏效了!!

<div style="width:50%">![Chilling](https://www.w3schools.com/w3images/fjords.jpg)</div>

因此,支持外部图像!

我想我会把这个放在那里,因为它没有在任何答案中


将相对维度添加到源URL将在大多数Markdown渲染器中进行渲染。

我们在Corilla中实现了这一点,因为我认为该模式符合现有工作流的预期,而不迫使用户依赖基本的HTML。如果你最喜欢的工具没有遵循类似的模式,那么值得提出一个功能请求。

语法示例:

![a-kitt.jpg](//corilla.com/a-kitten-2xU3C2.jpg=200x200)

小猫的例子:


如果更改初始标记对您来说不是一个选项,则此黑客可能会奏效:

newHtml = oldHtml.replace(/<img/g, '<img height="100"');

我使用它可以在发送电子邮件之前调整图像大小(因为Outlook忽略任何图像css样式)


对于那些热衷于手工和针织解决方案的人。有一些方法可以在不使用html的情况下调整.rmd文件中的图像大小:

您可以简单地通过添加{width=123px}来指定图像的宽度。不要在括号之间引入空格:

![image description]('your-image.png'){width=250px}

另一种选择是使用knifer::include_graphics:

```{r, fig.cap="image description", out.width = '50%'}
knitr::include_graphics('your-image.png')
```

对于IntelliJ IDEA用户,请参阅Markdown Navigator插件。

预览渲染图像、徽章、HTML等。


调整Jupyter笔记本中标记图像附件的大小

我使用的是jupiter_core-4.4.0和jupiter笔记本电脑。

如果您通过将图像插入标记来附加图像,如下所示:

![Screen%20Shot%202019-08-06%20at%201.48.10%20PM.png](attachment:Screen%20Shot%202019-08-06%20at%201.48.10%20PM.png)

这些附件链接不起作用:

<img src="attachment:Screen%20Shot%202019-08-06%20at%201.48.10%20PM.png" width="500"/>

这样做。这确实有效。

只需添加div括号。

<div>
<img src="attachment:Screen%20Shot%202019-08-06%20at%201.48.10%20PM.png" width="500"/>
</div>

希望这有帮助!


供将来参考:

Joplin的Markdown实现允许以以下方式控制导入图像的大小:

<img src=“:/7653a812439451eb1803236687a70ca”width=“450”/>

这项功能是在这里请求的,正如Laurent承诺的那样,这项功能已经实现。

我花了一段时间才弄清楚乔普林的具体答案。


代替[title](imageurl.type)与<img src=“https://image-url.type“width=”200“height=”200“/>


对于所有在R markdown/bookdown中工作的解决方案,上述解决方案不工作或需要略微调整:

工作

追加{width=50%}或{width=50%height=50%}![foo](foo.png){width=50%}![foo](foo.png){宽度=50%高度=50%}重要提示:宽度和高度之间没有逗号,即{width=50%,height=30%}不起作用!追加{height=“36px”width=“36px”}![foo](foo.png){height=“36px”width=“36px”}注意:带冒号的{:height=“36px”width=“36px”}(来自@sayth)似乎不适用于R markdown

不工作:

附加=宽度x高度在图形文件的URL之后调整图像大小(从@prosseek)两者都不=宽度x高度![foo](foo.png=100x20)nor=仅宽度![foo](foo.png=250x)工作


结合两个答案,我得出了一个解决方案,看起来可能没那么漂亮,但它奏效了!

它创建了一个具有特定大小的缩略图,可以单击该缩略图以获得最高分辨率的图像。

[<img src="image.png" width="250"/>](image.png)

这是一个例子!我在Visual Code和Github上测试了它。

由于反馈,我们知道这也适用于:

GitLab公司Jupyter笔记本


Tieme的答案在大多数情况下都是最好的。

在我的例子中,我使用pandoc将markdown转换为乳胶。HTML标记在这里不起作用。

我的解决方案是重新实现includegraphics

\let\maxincludegraphics\includegraphics
\renewcommand{\includegraphics}[1]{\maxincludegraphics[max width=\textwidth]{#1}}

类似于在转换为HTML后使用CSS。


这一条对我有用,它不在一条线上,但我希望它对你有用。

<div>
<img src="attachment:image.png" width="500" height="300"/>
</div>

如果您在Gihub Flavored Markdown中使用参考样式图像:

Here is an image of tree: 
![alt text][tree]{height=400px width=500px}


[//]: # (Image References)
[tree]: ./images/tree.png "This is a tree"


如果我们只是像这样使用普通的HTML图像标记,那么它是有效的,如果您使用引导来进行样式设置。我在Jekyll制作的网站上使用这个。

<img class="img-fluid" src="./img/face.jpg" alt="img-verification">

如果我们按照这个例子添加引导类,它会很好地工作。


纯粹的<img。。。width=“50%”>如上所述,在我的Github Readme.md文档上做了工作。

然而,我真正的问题是,图像位于表单元格中,只是压缩旁边单元格中的文本。因此,另一种方法是在Markdown表中设置列宽,但这些解决方案对于我的上午来说似乎还不够醒目。

最后,我通过简单地在旁边的文本单元格中添加所需的“”来解决这两个问题。

我希望这有帮助。再见,谢谢大家。


对于在Google Colaboratory上使用Markdown的用户,无需将图像上传到会话存储文件夹或链接到Google Drive。如果图像具有URL,并且可以包含在Jupyter笔记本上,并且其大小更改如下:

<img src="https://image.png" width="500" height="500" />


如果每个md文件中有一个图像,控制图像大小的一种简便方法是:

添加css样式如下:

## Who Invented JSON?
`Douglas Crockford`

Douglas Crockford originally specified the JSON format in the early 2000s.
![Douglas Crockford](img/Douglas_Crockford.jpg)

<style type="text/css">
    img {
        width: 250px;
    }
</style>

输出如下:

如果每个md页面中有更多的图像,那么控制每个图像或每个自定义标记的简便方法是在css中定义每个元素。对于img标记,我们可以有:

//在css或样式标签中:img[alt=“结果1”]{宽度:100px;}img[alt=“结果2”]{宽度:200px;}img[alt=“结果3”]{宽度:400px;}//尝试使用以下方法之一在文档中插入图像:<br/><img src=“https://i.stack.imgur.com/xUb54.png“alt=”结果1“><br/><img src=“https://i.stack.imgur.com/xUb54.png“alt=”结果2“><br/><img src=“https://i.stack.imgur.com/xUb54.png“alt=”结果3“><br/><br/>在md中:<br/>![结果1](img/res-img-1.png)<br/>![结果2](img/res-img-2.png)<br/>![结果3](img/res-img-3.png)


通过纯向后兼容MD:

![<alt>](<imguri>#<w>x<h> "<title>")

其中w,h定义了要纵横适配的边界框,例如在Flutter包中https://pub.dev/packages/flutter_markdown

代码:https://github.com/flutter/packages/blob/9e8f5227ac14026c419f481ed1dfcb7b53961475/packages/flutter_markdown/lib/src/builder.dart#L473

重新考虑破坏兼容性的html解决方案,因为人们可能会使用本机/非html组件/应用程序来显示标记。


这会奏效的

<style>
img{width: 50%;}
#foo {color: red;}
</style>

<p id="foo">foo</p>

<p style="color: blue">bar</p>


如果使用markdown,首先需要启用HTML渲染:

const md = require("markdown-it")({
  html: true,
});

然后可以在.md文件中使用:

<img src="" alt="drawing" width="100%" height="200"/>

将图像URL放入下面的标记中。记住要相应地更改宽度和高度。这样地

<img src="IMAGE_URL_HERE"  width="300" height="300">

可以指定宽度而不指定高度属性,反之亦然。

或者,您可以使用百分比值更改图像大小,如下所示:

<img src="IMAGE_URL_HERE"  width=50% height=50%>

我只是在一些图像编辑器中编辑图像-水平放大图像,因此当渲染器调整大小到页面宽度时,它会垂直缩小。

所以,只需添加一些透明的左右边距即可。


您可以像这样设置图像末尾的大小:

![image.png](source **=600x400**)