Mengubah ukuran gambar dalam penurunan harga


920

Saya baru saja mulai dengan Markdown. Saya menyukainya, tetapi ada satu hal yang menggangguku: Bagaimana saya bisa mengubah ukuran gambar menggunakan Markdown?

Dokumentasi hanya memberikan saran berikut untuk gambar:

![drawing](drawing.jpg)

Jika mungkin saya ingin gambarnya juga dipusatkan. Saya meminta penurunan harga umum, bukan hanya bagaimana GitHub melakukannya.


11
Saya sarankan mengubah jawaban yang diterima untuk kode yang kompatibel dengan penerjemah markdown paling banyak (yang ini, menurut pendapat saya stackoverflow.com/a/21972032/463225 ).
WattsInABox

Kemungkinan duplikat github README.md gambar tengah
iNet

Microsoft memiliki catatan di halaman mereka untuk Sintaks Markdown:! Sintaks untuk mendukung pengubahan ukuran gambar hanya didukung dalam permintaan tarik dan Wiki. docs.microsoft.com/en-us/vsts/project/wiki/... Tidak yakin apakah komentar sintaks ini valid untuk semua penurunan harga, atau hanya untuk VSTS.
Joe B

Jawaban:


501

Dengan implementasi penurunan harga tertentu (termasuk Mou dan Ditandai 2 (hanya MacOS)) Anda dapat menambahkan =WIDTHxHEIGHTsetelah URL dari file grafis untuk mengubah ukuran gambar. Jangan lupakan ruang sebelum =.

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

Anda dapat melewati HEIGHT

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

22
juga perhatikan bahwa Anda tidak dapat memiliki spasi setelah '='. baik: "! [] (./ pic / pic1s.png = 250x)", buruk: "! [] (./ pic / pic1s.png = 250x)"
cantdutchthis

17
Tidak dalam standar, sehingga tidak berfungsi dengan setiap pengurai Markdown
Marius Soutier

19
Tampaknya tidak berfungsi dengan Redcarpet, yang saya gunakan dengan Jekyll, jadi saya akan menggunakan HTML, seperti yang dijawab @Tieme. Jika Anda akhirnya menjalankan penurunan harga Anda melalui parser yang menyukai standar, HTML akan berdiri.
user766353

7
tidak bekerja di wiki Bitbucket juga. itu salah dikonversi menjadi titleatribut.
RZKY

6
Tidak berfungsi, tetapi HTML <img src = http // ... width = "..." height = "..."> berfungsi.
BK Batchelor

980

Anda bisa menggunakan beberapa HTML di Penurunan harga Anda:

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

Atau melalui styleatribut ( tidak didukung oleh GitHub )

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

Atau Anda dapat menggunakan file CSS khusus seperti yang dijelaskan dalam jawaban ini pada Penurunan harga dan penyelarasan gambar

![drawing](drawing.jpg)

CSS di file lain:

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

42
Menggunakan inline styletidak berfungsi di sebagian besar situs web (misalnya GitHub), situs itu akan disanitasi. Lebih suka widthdan heightsebagai gantinya disebutkan oleh @kushdillip.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

2
Solusi berdasarkan atribut alt sangat buruk dan Anda tidak boleh menggunakannya, itu merusak aksesibilitas .
Regnareb

Alt dalam markdown menempatkan keterangan, alt dalam html melakukan sesuatu yang sama sekali berbeda (tulis teks jika gambar tidak dapat dimuat).
Julien Colomb

Bekerja pada Github dengan atribut width.
Shital Shah

Saya meletakkan gambar di sebuah meja dan itu bekerja lebih baik untuk digunakan max-widthsebagai gantinya untuk memastikan gambar tidak
terjepit

326

Jawaban yang diterima di sini tidak berfungsi dengan editor Markdown yang tersedia di aplikasi yang saya gunakan sampai saat ini seperti Ghost, Stackedit.io atau bahkan di editor Stack Overflow. Saya menemukan solusi di sini di pelacak masalah StackEdit.io .

Solusinya adalah dengan langsung menggunakan sintaks HTML, dan itu bekerja dengan sempurna:

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

Saya harap ini membantu.


11
Ini bekerja dengan baik untuk saya! CSS sebaris tidak berfungsi dengan GitHub Markdown tetapi atribut tinggi / lebar "old school" bekerja dengan baik.
Nicholas Kreidberg

Untung adalah ini juga berfungsi jika Anda mencoba menggunakan penampil penurunan harga untuk file lokal di ekstensi / add-on browser.
code_dredd

1
Github menyukai ini.
Teoman shipahi

1
kamu manusia batu! sekarang ini bekerja untuk saya
Wesin Alves

Ini bagus kecuali tidak di notebook ipython saya di github.
eric

129

Cukup gunakan:

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

dari pada:

![](Assets/icon.png)

1
Sebagian besar implementasi Penurunan harga memiliki sintaks yang dimodifikasi untuk ini sehingga Anda tidak perlu memasukkan tag HTML mentah, tetapi ini adalah hal yang benar untuk dilakukan jika implementasi yang Anda gunakan tidak memilikinya.
Nick McCurdy

1
jenius berdarah! bekerja untuk GitHub =)))
Victor R. Oliveira

Ini kompatibel di github
thanos.a

Terima kasih telah membuatnya menjadi sederhana dan perubahannya jelas.
Marcy

67

Jika Anda menulis MarkDown untuk PanDoc, Anda dapat melakukan ini:

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

Ini menambah tag style="width: 50%;"HTML <img>, atau [width=0.5\textwidth]ke\includegraphics dalam LaTeX.

Sumber: http://pandoc.org/MANUAL.html#extension-link_attributes


1
Ini bahkan lebih baik daripada menentukan ukuran dalam poin secara langsung. Saya senang ini adalah pendekatan yang Pandoc pilih!
jciloa

2
@ m0z4rt GitHub mungkin tidak menggunakan PanDoc untuk merender MarkDown.
rudolfbyker

63

Mungkin ini baru saja berubah tetapi dokumen Kramdown menunjukkan solusi sederhana.

Dari dokumen

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

And here is a referenced ![smile]

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

Bekerja pada github dengan Jekyll dan Kramdown.


7
Mungkin telah bekerja di masa lalu tetapi tidak berfungsi sekarang di Github. Menambahkan tag <img> kuno dengan lebar dan tinggi masih berfungsi.
piratemurray

2
Ini adalah solusi terbaik jika Anda menggunakan Kramdown atau Jekyll (yang menggunakan Kramdown secara default).
Nick McCurdy

2
Memblokir atribut seperti yang ditunjukkan di sini adalah opsi yang baik dengan kramdown. Sintaks di sini sedikit salah, yang mungkin mengapa @piratemurray mengalami masalah. Seharusnya {: height=36 width=36}; ini menghasilkan atribut HTML, jadi seharusnya tidak memiliki pxakhiran. Sebagai alternatif, Anda dapat menggunakan css dengan {: style="height:36px; width:36px"}.
Quantum7

Bekerja untuk jekyll! Terima kasih. Saya bahkan tidak perlu tinggi dan lebar, cukup satu saja sudah cukup. ![alt text](image.png){:height="36px" }
Matthias

1
Saya harus melakukan perubahan kecil agar ini berfungsi dengan baik di Jekyll. Jawaban ini sebagai keluaran yang ditulis salah format HTML, widthdan heightatribut termasuk bagian "px". Bagi saya, saya perlu menggunakan{:height="36" width="36"}
Maximillian Laumeister

23

Orang mungkin menggambar pada altatribut yang dapat diatur di hampir semua implementasi / render Markdown bersama-sama dengan pemilih CSS berdasarkan nilai atribut. Keuntungannya adalah seseorang dapat dengan mudah mendefinisikan seluruh set ukuran gambar yang berbeda (dan atribut lebih lanjut).

Penurunan harga:

![minipic](mypic.jpg)

CSS:

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

Bukankah ini sama dengan jawaban Tieme sebelumnya ?
RedGrittyBrick

13
Ini adalah penyalahgunaan atribut alt dan melukai aksesibilitas.
sbuck

2
Ya, ini adalah hack, TETAPI tampaknya masih menjadi satu-satunya hal yang berfungsi di seluruh rasa Markdown. 1 untuk menunjukkan itu (orang-orang yang menggunakan pembaca layar mendapatkan masalah dengan itu kan? Mereka juga akan mendapatkan masalah dengan semua yang tidak repot menggunakan alt dengan cara yang benar).
petermeissner

20

Ganti ![title](image-url.type)dengan<img src="https://image-url.type" width="200" height="200">


17

Jika Anda menggunakan kramdown , Anda dapat melakukan ini:

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

Kemudian tambahkan ini ke Custom CSS Anda :

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

3
Saya akan merekomendasikan untuk tidak mengatur lebar hanya di CSS. Berguna untuk memberi tahu browser seberapa besar elemen gambar sebelum gambar dan stylesheet selesai dimuat sehingga dapat mengoptimalkan tata letak elemen di sekitar gambar tanpa melakukan reflow.
Nick McCurdy

13

Membangun dari jawaban Tiemes, jika Anda menggunakan CSS 3 Anda dapat menggunakan pemilih substring :

Pemilih ini akan mencocokkan gambar apa pun dengan tag alt yang diakhiri dengan '-lebar':

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

Kemudian Anda masih dapat menggunakan tag alt untuk tujuan yang dimaksudkan untuk menggambarkan gambar.

Penurunan harga di atas bisa berupa:

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

Saya telah menggunakan ini dalam penurunan harga Ghost, dan itu telah bekerja dengan baik.


1
Bekerja dengan baik pada kramdown + jekyll-3.1.2 juga.
Subin Sebastian

Jika Anda tidak perlu membuat gambar dengan lebar penuh, lebih baik untuk meletakkan ukuran piksel langsung pada tag (bukan dengan CSS).
Nick McCurdy

13

Menggabungkan dua jawaban, saya keluar dengan solusi, yang mungkin tidak terlihat cantik,
tetapi berhasil!

Itu menciptakan thumbnail dengan ukuran tertentu yang mungkin diklik untuk membawa Anda ke gambar resolusi maksimal.

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

Ini sebuah contoh! Saya mengujinya pada Visual Code dan Github. Contoh penurunan harga


1
Luar biasa. Bekerja dengan GitLab Enterprise.
Sven Haile

10

Saya datang ke sini mencari jawaban. Beberapa saran luar biasa di sini. Dan informasi emas yang menunjukkan bahwa penurunan harga mendukung HTMl sepenuhnya!

Solusi bersih yang baik adalah selalu menggunakan sintaks html murni. Dengan tag.

Tapi saya mencoba untuk tetap menggunakan sintaks markdown jadi saya mencoba membungkusnya di sekitar tag dan menambahkan atribut apa pun yang saya inginkan untuk gambar di dalam tag div. Dan itu BEKERJA !!

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

Jadi dengan cara ini gambar eksternal didukung!

Hanya berpikir saya akan meletakkan ini di sana karena tidak ada di salah satu jawaban. :)


1
Anda tidak dapat meletakkan markdown di dalam HTML, Anda harus menggantinya ![chilling](link)dengan <img src="link" alt="chilling">.
Charl Kruger

10

Bagi mereka yang terjalin dalam rmarkdowndan knitrsolusi. Ada beberapa cara untuk mengubah ukuran gambar dalam .rmdfile tanpa menggunakan html:

Anda cukup menentukan lebar untuk suatu gambar dengan menambahkan {width=123px}. Jangan memperkenalkan spasi putih di antara tanda kurung:

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

Pilihan lain adalah menggunakan knitr::include_graphics:

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

2
Bagaimana saya bisa mengubah tinggi dan lebar? Untuk opsi pertama secara khusus. Saya mencoba meletakkan tinggi dan lebar di tempat yang sama {}tetapi gagal. Terpisah {}gagal juga.
NelsonGon

2
@NelsonGon: Saya tidak perlu menentukan keduanya, karena tingginya juga bersisik, ketika lebar ditentukan. Karena itu saya tidak tahu apakah itu mungkin dan bagaimana mencapainya. Pertanyaan yang bagus, ..
symbolrush

2
Terima kasih, saya sejak pikir saya bisa melakukannya suka begitu: {height=x width=y}. Sepertinya sintaks ini tidak mengenali koma tapi saya bisa menentukan atribut lain termasuk elemen style.
NelsonGon


9

Saya tahu bahwa jawaban ini agak spesifik, tetapi mungkin membantu orang lain yang membutuhkan.

Karena banyak foto diunggah menggunakan layanan Imgur , Anda dapat menggunakan API yang dirinci di sini untuk mengubah ukuran foto.

Saat mengunggah foto dalam komentar masalah GitHub, itu akan ditambahkan melalui Imgur, jadi ini akan banyak membantu jika fotonya sangat besar.

Pada dasarnya, alih-alih http://i.imgur.com/12345.jpg , Anda akan meletakkan http://i.imgur.com/12345m.jpg untuk gambar berukuran sedang.


7

Anda bisa menggunakan yang ini juga dengan kramdown:

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

atau

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

Dengan cara ini Anda dapat langsung menambahkan atribut arbitrer ke elemen html terakhir. Untuk menambahkan kelas ada shortcut .class.secondclass .


5

Yang ini bekerja untuk saya itu tidak dalam satu baris tetapi saya harap ini bekerja untuk Anda.

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

Itu HTML, bukan penurunan harga ...
MappaM

4

Untuk R-Markdown, tak satu pun dari solusi di atas bekerja untuk saya, jadi saya beralih ke sintaks LaTeX biasa , yang berfungsi dengan baik.

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

Kemudian Anda dapat menggunakan misalnya \begin{center}pernyataan untuk memusatkan gambar.


1
+1, tetapi lebih baik \centeringsetelah \begin{figure}atau tidak sama sekali, jika Anda menggunakan `\ Includedegraphics [width = \ linewidth] {drawing.jpg}` bahwa saya pikir itu harus menjadi output pandoc default setidaknya ketika gambar lebih lebar daripada teks.
Fran

4

Ada cara dengan menambahkan kelas dan gaya css

![pic][logo]{.classname}

kemudian tulis tautan dan css di bawah ini

[logo]: (picurl)

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

Referensi di sini


4

Untuk semua yang mencari solusi yang bekerja dalam penurunan harga / bookdown , solusi-solusi sebelumnya tidak / tidak bekerja atau perlu sedikit adaptasi:

Kerja

  • Tambah { width=50% }atau{ width=50% height=50% }

    • ![foo](foo.png){ width=50% }
    • ![foo](foo.png){ width=50% height=50% }

    • Penting: tidak ada koma antara lebar dan tinggi - artinya { width=50%, height=30% } tidak akan berfungsi !

  • Menambahkan { height="36px" width="36px" }

    • ![foo](foo.png){ height="36px" width="36px" }
    • Catatan: {:height="36px" width="36px"} dengan titik dua, seperti dari @sayth, tampaknya tidak berfungsi dengan penurunan harga R

Tidak bekerja:

  • Menambahkan =WIDTHxHEIGHT
    • setelah URL file grafik untuk mengubah ukuran gambar (seperti dari @prosseek)
    • tidak =WIDTHxHEIGHT ![foo](foo.png =100x20)juga tidak =WIDTHhanya ![foo](foo.png =250x)bekerja

4

Jika Anda menggunakan gambar gaya referensi Github :

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


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


3

Penambahan dimensi relatif ke URL sumber akan diberikan di sebagian besar renderer Penurunan harga.

Kami menerapkan ini di Corilla karena saya pikir polanya adalah yang mengikuti ekspektasi alur kerja yang ada tanpa mendorong pengguna untuk mengandalkan HTML dasar. Jika alat favorit Anda tidak mengikuti pola serupa, ada baiknya mengajukan permintaan fitur.

Contoh sintaks:

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

Contoh anak kucing:

anak kucing


Sayang sekali itu tidak berfungsi pada GitHub saat ini, tapi saya sarankan untuk mengajukan permintaan fitur yang sama.
ddri

3

Mengubah ukuran Lampiran Gambar Penurunan Harga di Jupyter Notebook

Saya menggunakan jupyter_core-4.4.0& jupyter notebook.

Jika Anda melampirkan gambar Anda dengan memasukkannya ke dalam markdown seperti ini:

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

Ini attachmentlink tidak bekerja:

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

LAKUKAN INI . Ini tidak bekerja.

Cukup tambahkan kurung div.

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

Semoga ini membantu!


3

Untuk referensi di masa mendatang:

Implementasi penurunan harga untuk Joplin memungkinkan mengontrol ukuran gambar yang diimpor dengan cara berikut:

<img src=":/7653a812439451eb1803236687a70ca" width="450"/>

Fitur ini diminta di sini dan seperti yang dijanjikan oleh Laurent, ini telah diterapkan.


Butuh beberapa saat untuk menemukan jawaban spesifik Joplin.


2

Saat menggunakan Labu (saya menggunakannya dengan halaman datar) ... Saya menemukan bahwa mengaktifkan secara eksplisit (tidak secara default karena beberapa alasan) 'attr_list' dalam ekstensi dalam panggilan untuk penurunan harga melakukan trik - dan kemudian seseorang dapat menggunakan atribut (sangat berguna juga untuk mengakses CSS - class = "kelas saya" misalnya ...).

FLATPAGES_HTML_RENDERER = prerender_jinja

dan fungsinya:

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

Dan kemudian dalam penurunan harga:

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


1

Jika mengubah penurunan awal bukan merupakan pilihan bagi Anda, peretasan ini mungkin berfungsi:

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

Saya menggunakan ini untuk dapat mengubah ukuran gambar sebelum mengirimnya dalam email (karena Outlook mengabaikan gaya gambar css)


1

Jawaban Tieme paling baik untuk sebagian besar kasus.

Dalam kasus saya, saya menggunakan pandoc untuk mengubah penurunan harga menjadi lateks. Tag HTML tidak akan berfungsi di sini.

Solusi saya adalah menerapkan kembali \includegraphics

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

Ini analog dengan menggunakan CSS setelah konversi ke HTML.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.