gpt4 book ai didi

c++ - 图像对象和图像原始数据的内容有什么区别

转载 作者:太空宇宙 更新时间:2023-11-04 13:43:08 27 4
gpt4 key购买 nike

我想通过 UDP 网络以 1024 字节大小的小数据包发送图像。
我有两个选择。

imgBinaryFormatter->Serialize(memStream, objNewImage);        // Sending an image object
OR
imgBinaryFormatter->Serialize(memStream, objNewImage->RawData); // Sending a raw data of image

它们的内容和使用时间有何不同?
下面给出了完整的功能供引用

Image^ objNewImage = Image::FromFile(fullPath);         // fullpath is full path of an image
MemoryStream^ memStream = gcnew MemoryStream();
Formatters::Binary::BinaryFormatter^ imgBinaryFormatter = gcnew Formatters::Binary::BinaryFormatter(); // Binary formatter
imgBinaryFormatter->Serialize(memStream, objNewImage); // Or objNewImage->RawData ??
arrImgArray = memStream->ToArray(); // COnvert stream to byte array

int iNoOfPackets = arrImgArray->Length / 1024;
int i;

for (i = 1; i < iNoOfPackets; i++){
socket->SendTo(arrImgArray, 1024*(i-1), 1024, SocketFlags::None, receiversAdd);
}

int remainedBytes = arrImgArray->Length - 1024 * iNoOfPackets;

socket->SendTo(arrImgArray, 1024 * iNoOfPackets, remainedBytes, SocketFlags::None, receiversAdd);

如果您发现代码有改进,请随时使用适合内存约束应用程序的解决方案编辑代码。

最佳答案

更好用

Image.Save Method (Stream, ImageFormat)用于序列化为 Stream

Image.FromStream Method (Stream)用于从 Stream

反序列化

或它们的重载之一

关于c++ - 图像对象和图像原始数据的内容有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27027728/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com