Legen Sie Breite und Höhe eines Bildes beim einfügen über Arbeitsblatt.insert_image
Aus der docs, die insert_image
Funktion übernimmt die folgenden Optionen:
{
'x_offset': 0,
'y_offset': 0,
'x_scale': 1,
'y_scale': 1,
'url': None,
'tip': None,
'image_data': None,
'positioning': None,
}
Das problem ist, dass die Größe des input-Bilder, die ich einfügen muss, kann variieren, aber die Zelle, wo Sie sein müssen, ist eine Feste Größe. Ist es möglich, irgendwie bieten Sie eine Breite und eine Höhe, und lassen Sie Excel die Größe des Bildes in den vorgesehenen Dimensionen?
- Wollen Sie Strecken Sie die Bilder oder behalten Sie das Seitenverhältnis?
- Ich möchte zum verkleinern der Bilder während Sie möglicherweise halten Sie das Seitenverhältnis intakt. aber die Dimensionen der Bilder halten, unterschiedliche - vor allem die Höhe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann man das Bild skalieren extern oder innerhalb von Excel mit XlsxWriter und die
x_scale
undy_scale
auf der Grundlage der die Höhen und breiten der Zelle(N) und das Bild.Beispiel:
Den Vorteil der Skalierung ist, kann der Benutzer wieder das ursprüngliche Bild durch Einstellung der Skalierung wieder auf 100% in Excel.
Glaube ich nicht, es hat eine eingebaute Möglichkeit, das zu tun-Skala und halten Sie auch das Seitenverhältnis. Sie haben zu berechnen, es selbst.
Wenn Sie wollen, um die Größe und senden Sie die Datei an die Ziel-Auflösung (wahrscheinlich hält die Dateigröße nach unten), verwenden Sie
pillow
'sMiniaturansicht()
Methode der Bilder zusammen mit denxlsxwriter
image_data
option:Wenn Sie wollen, um die original-Auflösung, und lassen Sie excel tun, die interne Skalierung aber auch passen innerhalb der Grenzen, die Sie bereitstellen, können Sie berechnen die korrekte Skalierungsfaktor, bevor er es für excel: