在单点触控中显示来自 Byte[] 的图像

发布于 2024-11-03 19:43:03 字数 670 浏览 5 评论 0原文

我正在 Monotouch 框架中工作,在该框架中我必须显示图像,我所拥有的是 byte[]。

所以我使用了

    Public static Public static UIImage GetImagefromByteArray (byte[] byteArrayIn){
        using (MemoryStream memStream = new MemoryStream ())
        {
            byte[] streamBytes = new byte [byteArrayIn.Length];
            memStream.Read( streamBytes, 0, byteArrayIn.Length);
            NSData data = NSData.FromArray( streamBytes );
            return UIImage.LoadFromData( data );
        }              
    }

,但它总是返回 null,我搜索了它,所以知道这是 monotouch 中的一个错误。 错误报告链接,那么我还可以使用什么功能来显示图像。

I am working in Monotouch framework, in which i have to show image, what i have is byte[].

so i used

    Public static Public static UIImage GetImagefromByteArray (byte[] byteArrayIn){
        using (MemoryStream memStream = new MemoryStream ())
        {
            byte[] streamBytes = new byte [byteArrayIn.Length];
            memStream.Read( streamBytes, 0, byteArrayIn.Length);
            NSData data = NSData.FromArray( streamBytes );
            return UIImage.LoadFromData( data );
        }              
    }

but it always returns null, i searched for it so came to know that it is a bug in monotouch.
bug reported link, so what else function may i use to show image .

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽心 2024-11-10 19:43:03

你的代码是错误的。您正在从空的 MemoryStream 中读取数据。 UIImage.LoadFromData 在 MonoTouch 4.0 中工作正常(据我所知,从 3.2.* 开始)。尝试以下方法,如果您已经拥有图像的字节缓冲区,则不需要 MemoryStream,例如。来自文件流:

public static UIImage GetImagefromByteArray (byte[] imageBuffer)
{
    NSData imageData = NSData.FromArray(imageBuffer);
    return UIImage.LoadFromData(imageData);
}

Your code is wrong. You are reading from an empty MemoryStream. UIImage.LoadFromData works fine in MonoTouch 4.0 (and since 3.2.* from what I can remember). Try the following method, you don't need a MemoryStream if you already have the byte buffer of the image, eg. from a FileStream:

public static UIImage GetImagefromByteArray (byte[] imageBuffer)
{
    NSData imageData = NSData.FromArray(imageBuffer);
    return UIImage.LoadFromData(imageData);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文