Я хочу поделиться растровым изображением между сервером и клиентом. Я много пробовал, но у меня были проблемы с отсутствием нижней части изображения.
Первый способ:
Bitmap bmp = new Bitmap(800, 450);
using (var ms = new MemoryStream(readBuffer))
{
bmp = new Bitmap(ms);
}
Второй способ:
using (var ms = new MemoryStream(readBuffer))
{
bmp = new Bitmap(ms);
//bmp = Image.FromStream(ms) as Bitmap;
}
Таким образом, изображение не было преобразовано должным образом.
Bitmap bmp = new Bitmap(800, 450, PixelFormat.Format24bppRgb);
BitmapData bmpData = bmp.LockBits(
new Rectangle(0, 0, bmp.Width, bmp.Height),
ImageLockMode.WriteOnly, bmp.PixelFormat);
Marshal.Copy(readBuffer, 0, bmpData.Scan0, readBuffer.Length);
bmp.UnlockBits(bmpData);
Как Могу ли я правильно преобразовать в растровое изображение, где нижняя часть не исчезла? Это код, который я использовал для преобразования растрового изображения в байт.
Bitmap bmp = new Bitmap(panel1.Width, panel1.Height);
panel1.DrawToBitmap(bmp, new Rectangle(0, 0, panel1.Width, panel1.Height));
using (var stream = new MemoryStream())
{
bmp.Save(stream, ImageFormat.Png);
sendBuffer = stream.ToArray();
}
Array.Resize(ref sendBuffer, 1024*4);