Magick++ Blob to Image Error
Magick++ Blob to Image Error
美好的一天,
我有关于Magick ++ Blob将其转换为Magick Image的问题。场景如下:
在我的 C# 项目中,它传递一个包含 pdf 文件的字节数据,我使用了"字符串响应 = 编码.ASCII.GetString(RESP(;"将其转换为无符号的 *char,其中需要我的自定义 DLL,这是C++。
在我的自定义 DLL 中,我再次将无符号字符转换为 const void需要哪个 Magick Blob,然后我创建了一个 Blob,一切都很好。但是当我将 blob 转换为 Magick Image 时,它会返回错误,但我的 C# 只返回错误"外部组件引发了异常",因为它是一个 DLL。
这是我的自定义DLL代码:
#include <stdio.h>
#include <string>
#include <Windows.h>
#include <Magick++.h>
#include <zbar.h>
#include <fstream>
#include <opencv2opencv.hpp>
extern "C"
{
const void* convert(unsigned char arr[]);
__declspec(dllexport) const char* ScammingQRCode(unsigned char *pdf){
Magick::InitializeMagick("");
size_t s = sizeof(pdf);
const void* bl = convert(pdf);
Magick::Blob blob(bl, s);
Magick::Image image;
image.depth(8);
image.read(blob);
}
const void* convert(unsigned char arr[]){
return arr;
}
}
注意:我正在使用图像魔术-7.0.6-Q16
我找到了这个问题的答案。我将接收到的数据类型更改为 BYTE,并在 C# 中发送了字节本身。我将 BYTE 转换为 const void*,所有事情都解决了。然后因为我正在PDF上进行测试,所以我使用了"readImages"方法,它现在可以完美地工作。
编辑:我也很愚蠢,要获得blob的长度,它应该是"blob.length(("而不是sizeof。感谢@emcconville指出这一点。
相关文章:
- "error: no matching function for call to"构造函数错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- C++错误:"error: int aaa::bbb is protected within this context"
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- 以线程安全的方式调用"QQuickPaintedItem::updateImage(const QImage&image)"(no QThread)
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- C++ "error: invalid use of void expression"
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- 如何修复"error: ‘_1’ was not declared in this scope"?
- 从不同目录执行时"symbol lookup error:",否则从构建目录执行时按预期工作
- 对象声明中的模板"error: expected expression"
- 在C++中使用 Catch 测试框架编译错误"error: expected ';' at end of declaration list"
- OpenCV 3.4.1 error readNetFromTensorflow 无法在 cv::d nn::ReadProtoFromBinaryFile 中打开 .pb
- 已解决 - C++ 的崇高文本中的"fatal error: opencv: no such file or directory"
- 为什么我会"error: expected expression"?
- Magick++ Blob to Image Error
- "The image cannot be displayed error"通过套接字发送图像时C++