Да, вы должны передать указатель на указатель. C передает аргументы по значению, а не по ссылке.
Использование удивительной библиотеки Pillow :
& gt; & gt; & gt; & gt; из импорта PIL Изображение & gt; & gt; & gt; & gt; img = Image.open ('test.png') & gt; & gt; & gt; & gt; & gt; img.show ()
Это откроет изображение в вашем средстве просмотра изображений по умолчанию.
Я сделал простой инструмент, который будет отображать изображение с именем файла или объектом изображения или URL-адресом.
Установка:
$ pip install simple-imshow
Использование:
из simshow import simshow simshow ('some_local_file.jpg') # отображение из локального файла simshow ('http://mathandy.com/escher_sphere.png') # отображение с url
Почему бы просто не отобразить его в веб-браузере пользователя?
webbrowser.open ()
отлично работает для любого типа файла, который вы можете открыть из браузера: изображения, видео, офисные документы, mp3 и т. Д. (Он запускает соответствующую программу, например MPlayer для видеофайлов).
– jfs
12 September 2009 в 04:56
webbrowser.open («Figure.png»)
откроет рисунок через мой интернет-браузер по умолчанию. Вместо этого рисунок был открыт через средство просмотра изображений по умолчанию. Ты знаешь почему? Я нахожусь в Windows.
– multigoodverse
27 July 2015 в 09:44
webbrowser
имеет webbrowser._tryorder
, который содержит порядок программ, которые он попробует. На моем компьютере он имеет ['xdg-open', 'gvfs-open', ...
, поэтому сначала запускается программа xdg-open
. И эта программа далее вызывает eog
на моем компьютере.
– Finn Årup Nielsen
18 November 2015 в 15:06
Вы не можете отображать изображения в окне консоли. Вам нужен графический инструментарий, такой как Tkinter, PyGTK, PyQt, PyKDE, wxPython, PyObjC или PyFLTK. Существует множество учебных пособий по созданию окон siomple и загрузке изображений iun python.
В терминалах, совместимых с Xterm, вы можете показать изображение непосредственно в терминале. [D0]
[!d1]
см. [D0] мой ответ на «Изображение PPM для ASCII-искусства в Python»Если вы хотите показать его в новом окне, вы можете использовать Tkinter + PIL-библиотеку, например:
импортировать Tkinter как tk из импорта PIL ImageTk, изображение def show_imge (путь ): image_window = tk.Tk () img = ImageTk.PhotoImage (Изображение.open (путь)) panel = tk.Label (image_window, image = img) panel.pack (side = "bottom", fill = "both", expand = "yes") image_window.mainloop ()
Это модифицированный пример, который можно найти по всему Интернету.
Или просто выполните изображение через оболочку, как в
подпроцесс импорта subprocess.call ([fname], shell = True)
и любая программа, установленная для обработки изображений, будет запущена.
Поскольку вы, вероятно, работаете с Windows (от просмотра ваших тегов), это будет самый простой способ открыть и показать файл изображения с консоли без установки дополнительных файлов, таких как PIL.
import os os.system ('start pic.png')
Установите Pillow (или PIL), например:
$ pip install pillow
Теперь вы можете
из импорта PIL Image с Image.open ('путь / to / file.jpg') в качестве img: img.show () [ ! d6]
Другие распространенные альтернативы включают запуск xdg-open
или запуск браузера с помощью пути изображения:
import webbrowser webbrowser.open ('путь / to / file.jpg')
Если вы действительно хотите показать изображение inline в консоли, а не как новое окно, вы можете это сделать, но только в консоли Linux с помощью fbi см. запросить Ubuntu или использовать ASCII-искусство, подобное CACA .