【发布时间】:2018-04-12 18:17:41
【问题描述】:
我有一个 Azure 函数,想要裁剪字节数组中的图像,然后将其保存到 blob。我不确定如何进行裁剪部分,因为 Azure Functions 中不提供位图。这是我保存到 blob 的内容:
private async static Task<string> CreateBlob(string name, byte[] data, TraceWriter log)
它可以很好地完成它的工作。另外,如果有帮助,我还有要裁剪的图像的 URL。只是不知道如何使用 Azure 函数来实现这一点。有什么想法吗?
编辑
这是原始图像,我在一个字节数组中。我想从中裁剪另一个尺寸 - 650x290
int cropStartX = 0;
int cropStartY = 0;
int cropWidth = 650;
int cropHeight = 290;
int multiply = cropWidth * cropHeight;
byte[] croppedImage = new byte[multiply];
for (int j = cropStartX; j < cropStartX + cropWidth; j++)
{
for (int k = cropStartY; k < cropStartY + cropHeight; k++)
{
if ((j + k * cropWidth) >= ((byte[])OriginalPic).Length)
break;
croppedImage[j + k * cropWidth] = ((byte[])OriginalPic)[j + k * cropWidth];
}
}
这是 OriginalPic 的大小 - byte[49121]
这是我设置后的输出:
croppedImage[j + k * cropWidth] = ((byte[])OriginalPic)[j + k * (cropWidth + 20)];
【问题讨论】:
-
如果图像在一个字节数组中......有什么理由你不能只索引并复制你需要的东西?
-
这可能吗?我需要从中裁剪出一些小图片,并且我知道它们的具体坐标和大小。如果我可以将它们分别放在几个字节数组中,那就太好了,这将是完美的情况,但我不知道如何操作字节数组来获取小图片。有什么想法吗?
-
一维字节数组?
-
您很可能需要一个图像处理库。图像有多种格式(每像素位数、字节顺序、托盘/直接等)和编码(压缩/原始)。任何图像处理库都应该能够将图像导出到原始字节数组。
-
您的图像数据已压缩,无法在字节索引查找中裁剪。
标签: c# .net azure image-processing azure-functions