Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Как вставить в python программу изображение извне

Как сделать, чтобы по нажатии на кнопку в приложении открывался проводник, пользователь выбирал фото и оно сохранялось в программе? Сама прога сделана с помощью kivy и предполагает работу на windows и Android. Как бы я не формулировал запросы поисковые, выдавало совершенно не то. Поэтому буду благодарен любой помощи.

По дате
По рейтингу
Аватар пользователя
Просветленный

Для вставки изображения в Python-программу извне вы можете воспользоваться библиотекой PIL (Python Imaging Library). Вот несколько способов, как это можно сделать:

Используя PIL для вставки изображения:

12345678910111213
 from PIL import Image 
 
# Открываем изображение 
image_path = "путь_к_изображению.jpg" 
image = Image.open(image_path) 
 
# Вставляем изображение в другое изображение по заданным координатам (x, y) 
x, y = 100, 200 
background_image.paste(image, (x, y)) 
 
# Сохраняем измененное изображение 
background_image.save("новое_изображение.jpg") 
 

Используя библиотеку Matplotlib для вывода изображения: Установите библиотеку Matplotlib, если она еще не установлена:

12
 pip install matplotlib 
 

Затем в вашем коде:

1234567891011
 import matplotlib.pyplot as plt 
import matplotlib.image as mpimg 
 
# Загрузите изображение 
image_path = "путь_к_изображению.jpg" 
image = mpimg.imread(image_path) 
 
# Выведите изображение 
plt.imshow(image) 
plt.show() 
 

Открытие изображения с помощью библиотеки PIL:

12345678
 from PIL import Image 
 
# Открываем изображение 
img = Image.open('путь_к_изображению.png') 
 
# Сохраняем его в другом формате (например, как GIF) 
img.save('путь_к_изображению.gif') 
 

Чтобы при нажатии на кнопку в вашем Kivy-приложении открывался проводник и пользователь мог выбрать фото, вы можете использовать следующий код:

1234567891011121314151617181920212223242526272829303132
 from kivy.app import App 
from kivy.uix.button import Button 
from kivy.uix.filechooser import FileChooserListView 
from kivy.uix.boxlayout import BoxLayout 
 
class MyApp(App): 
    def build(self): 
        layout = BoxLayout(orientation='vertical') 
        button = Button(text='Выбрать фото') 
        file_chooser = FileChooserListView() 
 
        def on_button_press(instance): 
            # Открываем проводник 
            file_chooser.path = 'C:/Users/'  # Укажите начальный путь 
 
        def on_selection(instance, selection): 
            # Получаем выбранный файл 
            if selection: 
                selected_file = selection[0] 
                # Сохраняем выбранное фото в программе 
                # Добавьте свой код для обработки выбранного файла 
 
        button.bind(on_press=on_button_press) 
        file_chooser.bind(on_selection=on_selection) 
 
        layout.add_widget(button) 
        layout.add_widget(file_chooser) 
        return layout 
 
if __name__ == '__main__': 
    MyApp().run() 
 

Этот код создает Kivy-приложение с кнопкой “Выбрать фото” и проводником для выбора изображения. После выбора фото, вы можете обработать его и сохранить в программе.