Есть ли способ записать изображение в память с помощью Python и прочитать его из другого приложения, написанного на C++?Python

Программы на Python
Ответить
Anonymous
 Есть ли способ записать изображение в память с помощью Python и прочитать его из другого приложения, написанного на C++?

Сообщение Anonymous »

Я хотел бы создать и записать образ в память таким образом, чтобы другие процессы могли его прочитать. Цель состоит в том, чтобы сценарий Python создавал некоторый график с использованием matplotlib.pyplot, записывал его в память как файл PNG, а затем приложение Qt, написанное на C++ или Python, считывало это изображение и имело возможность отображать его в собственном окне, используя возможности Qt. Я бы специально не хотел сохранять изображение на жесткий диск.
Если бы я использовал жесткий диск в качестве моста между двумя процессами, мой код выглядел бы примерно так:< /p>

Код: Выделить всё

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.plot(x, y, marker = "o", linestyle = "-")
plt.savefig("my_graph.png")
Приложение Qt, написанное на Python и имеющее класс GraphWidget для его визуализации:

Код: Выделить всё

class GraphWidget(QWidget):
def __init__(self, parent : parent : Optional[QWidget] = None) -> None:
super().__init__(parent)

def paintEvent(self, event):
painter = QPainter(self)
painter.drawPixmap(0, 0, QPixmap("./my_graph.png"))
В этом примере приложение Qt написано на Python, потому что на момент написания его удобнее предоставить пример на Python (я обновлю вопрос с кодом C++, как только насколько это возможно), но суть та же. Этот код использует жесткий диск как средство обмена образом между двумя процессами. Есть ли способ добиться того же результата без использования диска и записи изображения прямо в память с помощью Python и чтения его из памяти с помощью C++?
Если это невозможно сделать с помощью используя память, можете ли вы предложить какие-либо альтернативы для достижения того же результата без использования жесткого диска?

Подробнее здесь: https://stackoverflow.com/questions/787 ... om-another
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»