2016-05-18 140 views
-2

我想将位图图像转换为ushort?[]类型。 我正在关注this link,但它不起作用,因为我不需要字节数组。将图像转换为ushort?[]

请帮忙。

解决方案

var shorts = Array.ConvertAll(croppedImageByteArray, b => (ushort?)b); 
+0

你想在短裤中使用什么 - 每个单元格中颜色的16位表示,或某种格式(BMP,PNG,JPG)中图像的字节表示扩展为短裤?为什么是可空的? – Rup

+0

其实我会碰到一个WSDL web服务,它需要我以这种形式发送图像。 –

+0

16位是高彩色模式。如果您的应用程序需要16位,则必须先将8位图像转换为16位格式。你不能只将8位图像投射到16位。 – jdweng

回答

0

按照相同的链接,并投了字节USHORT? 在这里你有字节数组的最终结果,你可以做

var WhatIWant = TheByteArray.Cast<ushort?>(); 

这是唯一有用的,如果你特别需要这种类型的,如果你想起来从字节转换为更大的类型,以获得更多的信息,这是一个禁忌如果信息从头开始存储为字节,则该信息不存在。

如果这不能帮助您清楚地解释您正在尝试做什么以及最重要的原因,那么我们可以提供更好的帮助。

+0

它不会将字节数组转换为ushort?[]。 –

+0

@BeelalAhmed它确实如此,但我怀疑它是你想要的,这就是为什么我说清楚的原因为什么你想这样做 –

+0

我看到你添加了答案作为对原始帖子的评论,在这种情况下,是的,它会工作(这将是一个ushort阵列),但我怀疑该服务只是想要任何ushort阵列,参考他们的文档,但我怀疑他们只是想要位图castted ushorts –