小编Mat*_*lin的帖子

将字符串转换为 char* 到字符串 (C# -> C -> C++)

我正在开发带有 C 包装器的 C++ DLL,以便能够在不同的语言上使用它。目前,我也在 C# 中开发一个插件,它调用我的 DLL。

\n\n

我想要的是将字符串(文件的路径)作为 DLL 的参数传递,以便能够在我的 DLL 上使用它。

\n\n

C#

\n\n
[DllImport(DllName, CallingConvention = DllCallingConvention)]\npublic static extern IntPtr AllocateHandle(string filename);\n
Run Code Online (Sandbox Code Playgroud)\n\n

C 包装纸

\n\n
LPVOID SAMPLEDLL_API CALLCONV_API AllocateHandle(char* filename);\n
Run Code Online (Sandbox Code Playgroud)\n\n

C++ 类构造函数

\n\n
CustomData::CustomData(char* filename)\n{\n    _filename = filename; // string _filename;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我将 _filename 保存在文件上时(因为我没有找到使用 DLL 上的断点进行调试的方法),我有类似\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c\xc3\x8c0\xc3\xa0\xc3\x97. 我尝试了不同的解决方案将 char* 转换为字符串,但结果仍然相同。

\n\n

预先感谢您的帮助。

\n

c c# c++ string type-conversion

5
推荐指数
1
解决办法
1377
查看次数

从 numpy 数组获取指针以将图像发送到 C++

我正在开发一个项目,必须在PythonC++之间处理图像。为了将图像从 C++ 发送到 Python,我在图像的第一个像素上发送一个指针(作为库Mat中的对象OpenCV),在带有两个 for 循环的 Python 中,我使用该指针创建一个 2D numpy 数组。

但我没有成功地以另一种方式做同样的事情:获取 numpy 2D 数组(图像)的第一个像素的内存地址并将其传递给 C++。

假设 x 是我的图像(2D numpy 数组),我尝试了如下解决方案:

  • x.__array_interface__['data'][0]但这给出了一个整数,而不是地址
  • x.data每次我调用它时都会给出不同的值,因为它给我的是临时缓冲区的地址,而不是图像本身

预先感谢您的任何建议/帮助。

c++ python arrays pointers numpy

5
推荐指数
1
解决办法
4642
查看次数

matplotlib和透明度图

我正在与matplotlib图书馆PyQt5合作Python 3.6.我在我创建的窗口中添加了一个图形,并且我希望将此图形的背景设置为透明,因为我将图像添加到窗口的背景中.但是,这个数字并不是真正透明,它复制了窗口的背景图像.例如,有人在两年前处理同样的问题: matplotlib和pyqt4透明背景

这是一个工作示例(背景为黑色,但图形不是黑色):

import sys, os
from PyQt5.QtCore import Qt
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

import matplotlib
matplotlib.use('Qt5Agg') # Make sure that we are using QT5
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as NavigationToolbar
from matplotlib.figure import Figure
import matplotlib.pyplot as plt

class SecondWindow(QWidget):
    def __init__(self, parent=None):
        super(SecondWindow, self).__init__(parent)
        self.setupUi(self)

    def setupUi(self, Form):
        # WINDOW SETTINGS
        Form.setWindowTitle('Hello')
        self.p = QPalette()
        self.pixmap = QPixmap(os.getcwd() + "/logo.png").scaled(self.size(), Qt.IgnoreAspectRatio, …
Run Code Online (Sandbox Code Playgroud)

background pyqt matplotlib transparent

1
推荐指数
1
解决办法
1731
查看次数

标签 统计

c++ ×2

arrays ×1

background ×1

c ×1

c# ×1

matplotlib ×1

numpy ×1

pointers ×1

pyqt ×1

python ×1

string ×1

transparent ×1

type-conversion ×1