我目前正在从Photoshop C ++ API返回Photoshop图像层每个图层数据的通用指针void*
(每个图层通道的RGBA'作为通用指针返回) 。
这是通过CLI服务传递它来在我的C#应用程序中使用上述void*
创建一个位图。
问题1:我应该专注于创建字节数组还是IntPtr?当遵循字节数组方法时,我应该寻找内存并将其插入byteArray吗?
问题2:无论我选择哪种数据类型,我是否需要对数据进行编组,还是直接投射?
如果我以错误的方式解决这个问题,我很乐意听取建议。
返回像素数据的当前代码:
PixelMemoryDesc pixelMemoryDesc;
pixelMemoryDesc.data = pixelData;
pixelMemoryDesc.depth = readLayerDesc.compositeChannelsList->depth;
int32 byteSize = (documentWidth * documentHeight * pixelMemoryDesc.depth / 8);