jjzjj

MemoryStream

全部标签

c# - Image.Save 崩溃 : {"Value cannot be null.\r\nParameter name: encoder"}

我正在尝试将图像保存到MemoryStream中,但在某些情况下会失败。代码如下:以下代码成功:Imageimg=Bitmap.FromStream(fileStream);MemoryStreamms=newMemoryStream();img.Save(ms,img.RawFormat);//Thissucceeds.以下代码失败:Imageimg=Bitmap.FromStream(fileStream);Imagethumb=img.GetThumbnailImage(thumbWidth,thumbHeight,null,System.IntPtr.Zero);MemoryS

c# - 在 .NET 中将流(未知长度)转换为字节数组的最佳方法?

我有以下代码从Stream(在本例中是从命名管道)读取数据并将其写入字节数组://NPSSisaninstanceofNamedPipeServerStreamintBytesRead;byte[]StreamBuffer=newbyte[BUFFER_SIZE];//sizedefinedelsewhere(lessthantotalpossiblemessagesize,though)MemoryStreamMessageStream=newMemoryStream();do{BytesRead=NPSS.Read(StreamBuffer,0,StreamBuffer.Lengt

C#.NET : Convert Icon to byte[] and back again

如何在System.Drawing.Icon类型和byte[]之间进行转换?我正在寻找可以(希望)在.NET2中工作的简单方法。 最佳答案 你通过MemoryStream,基本上:publicstaticbyte[]IconToBytes(Iconicon){using(MemoryStreamms=newMemoryStream()){icon.Save(ms);returnms.ToArray();}}publicstaticIconBytesToIcon(byte[]bytes){using(MemoryStreamms=ne

c# - 使用 Deflate 压缩和解压缩字符串

我需要压缩和解压缩字符串代码如下:publicstaticbyte[]ZipStr(Stringstr){using(MemoryStreamoutput=newMemoryStream())using(DeflateStreamgzip=newDeflateStream(output,CompressionMode.Compress))using(StreamWriterwriter=newStreamWriter(gzip)){writer.Write(str);returnoutput.ToArray();}}和publicstaticstringUnZipStr(byte[]i

c# - 在 C# 中缓冲字节数据

我的应用程序从TCP套接字读取字节并需要缓冲它们,以便我以后可以从中提取消息。由于TCP的性质,我可能会在一次读取中获得部分或多条消息,因此每次读取后我想检查缓冲区并提取尽可能多的完整消息。因此我想要一个允许我执行以下操作的类:向其附加任意字节[]数据在不使用内容的情况下检查内容,特别是检查内容的数量并搜索某个字节或多个字节是否存在提取并使用部分数据作为byte[],同时将其余数据留在那里以供将来读取我希望我想要的可以用.NET库中的1个或多个现有类来完成,但我不确定是哪些。System.IO.MemoryStream看起来接近我想要的,但是(a)不清楚它是否适合用作缓冲区(读取数据是

c# - 难以将图像保存到 MemoryStream

我在将字节流从图像(在本例中为jpg)保存到System.IO.MemoryStream对象时遇到了一些困难。目标是将System.Drawing.Image保存到MemoryStream,然后使用MemoryStream将图像写入字节数组(我最终需要将它插入数据库)。但是,在MemoryStream关闭后检查变量data显示所有字节都为零......我很困惑,不知道我做错了什么...using(Imageimage=Image.FromFile(filename)){byte[]data;using(MemoryStreamm=newMemoryStream()){image.Sav

c# - MemoryStream 有一个线程写入它,另一个线程读取它

这就是我写入流然后使用1个线程从中读取的方式:System.IO.MemoryStreamms=newSystem.IO.MemoryStream();//writetoitms.Write(newbyte[]{1,2,3,4,5,6,7},0,7);//gotothebeginingms.Seek(0,System.IO.SeekOrigin.Begin);//nowreadfromitbyte[]myBuffer=newbyte[7];ms.Read(myBuffer,0,7);现在我想知道是否可以从一个线程写入内存流并从另一个线程读取该流。 最佳答案

c# - 如何使用字节数组比较两个图像

我希望能够将Byte[]转换为Image,反之亦然。这两种方法来自here:publicbyte[]imageToByteArray(System.Drawing.ImageimageIn){MemoryStreamms=newMemoryStream();imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);returnms.ToArray();}publicImagebyteArrayToImage(byte[]byteArrayIn){MemoryStreamms=newMemoryStream(byteArrayIn);

c# - 字节集合基于类似于 ByteBuffer from java

我需要一个类似于Java中的ByteBuffer的C#实现。感兴趣的方法-.remaining()-返回当前位置和限制之间的元素数。-。大批()-。清除()-.put(byte[],int,int)我开始使用MemoryStream..但没有clear(),并且有很多即兴创作另外,我在Koders上找到了一个c#实现:http://www.koders.com/csharp/fid2F8CB1B540E646746D3ADCB2B0AC867A0A8DCB06.aspx?s=socket#L2..我将使用它..但也许你们知道一些更好的东西 最佳答案

c++ - memorystream - stringstream,字符串,其他?

我正在通过通常的c++/STL/iostream语法读取二进制文件。我正在将整个内容复制到一个动态分配的char数组中,到目前为止效果很好。但由于我想将部分内容作为程序的另一部分的行提供,我认为坚持使用流会更好/更容易,因为我不想四处乱逛带有cstring函数和指针。我现在的问题是,如何将读取的内容存储在内存中。在字符串流中?还是在一个字符串中?哪个更合适?两者之间有什么优点或缺点吗?提前致谢! 最佳答案 如果想以流的形式从中读取,不妨直接从文件读取到stringstream:std::stringstreamdata;data将“