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.

tidak bisa ini
sumber
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)
prosseek
sumber
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; }
Ikat aku
sumber
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.

kushdilip
sumber
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)
Bartłomiej Semańczyk
sumber
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

rudolfbyker
sumber
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.

ucapan
sumber
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;
}
petermeissner
sumber
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">

prabhu
sumber
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;
}
Steven Penny
sumber
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.

bennetimo
sumber
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

pepatah
sumber
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. :)

Umang Desai
sumber
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')
```
lambang simbol
sumber
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.

Iulian Onofrei
sumber
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 .

rriemann
sumber
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>
Alfredo Castaneda
sumber
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.

Knarpie
sumber
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

Pangkas
sumber
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
Maverick
sumber
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"

zardosht
sumber
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

ddri
sumber
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!

MrFun
sumber
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.

smkj33
sumber
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}
tikar
sumber
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)

Yannickv
sumber
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.

Stewart
sumber