2.从数据库读取byte[]数组,转换成image图片。并显示到控件或保存到磁盘
Image image = Image.FromFile("D:\\test.jpg");
Bitmap bitmap = new Bitmap("D:\\test.jpg");
1.图片转换byte[]:
public static byte[] ImageToBytes(Image image)
ImageFormat format = image.RawFormat;
using (MemoryStream ms = new MemoryStream())
if (format.Equals(ImageFormat.Jpeg))
image.Save(ms, ImageFormat.Jpeg);
else if (format.Equals(ImageFormat.Png))
image.Save(ms, ImageFormat.Png);
else if (format.Equals(ImageFormat.Bmp))
image.Save(ms, ImageFormat.Bmp);
else if (format.Equals(ImageFormat.Gif))
image.Save(ms, ImageFormat.Gif);
else if (format.Equals(ImageFormat.Icon))
image.Save(ms, ImageFormat.Icon);
byte[] buffer = new byte[ms.Length];
//Image.Save()会改变MemoryStream的Position,需要重新Seek到Begin
ms.Seek(0, SeekOrigin.Begin);
ms.Read(buffer, 0, buffer.Length);
return buffer;
2.转换byte[]数组为image对象:
public static Image BytesToImage(byte[] buffer)
MemoryStream ms = new MemoryStream(buffer);
Image image = System.Drawing.Image.FromStream(ms);
return image;
3.存储到文件中:
public static string CreateImageFromBytes(string fileName, byte[] buffer)
string file = fileName;
Image image = BytesToImage(buffer);
ImageFormat format = image.RawFormat;
if (format.Equals(ImageFormat.Jpeg))
file += ".jpeg";
else if (format.Equals(ImageFormat.Png))
file += ".png";
else if (format.Equals(ImageFormat.Bmp))
file += ".bmp";
else if (format.Equals(ImageFormat.Gif))
file += ".gif";
else if (format.Equals(ImageFormat.Icon))
file += ".icon";
System.IO.FileInfo info = new System.IO.FileInfo(file);
System.IO.Directory.CreateDirectory(info.Directory.FullName);
File.WriteAllBytes(file, buffer);
return file;
主要功能:1.把图片转换成byte[]数组保存到数据库2.从数据库读取byte[]数组,转换成image图片。并显示到控件或保存到磁盘Image image = Image.FromFile("D:\\test.jpg");Bitmap bitmap = new Bitmap("D:\\test.jpg");代码:1.图片转换byte[]:public static byte[] ImageToB...
如何实现Java的byte转图片
在Java中,将byte数据转换为图片是一个常见的操作。本文将介绍这个过程的详细步骤,并给出相应的代码示例,以帮助刚入行的小白实现这一功能。
为了更好地理解整个流程,我们可以用一个表格来展示每个步骤及其所需的操作:
public static Image BytesToImage(byte[] buffer)
MemoryStream ms = new MemoryStream(buffer);
Image image = System.Drawing.Image.FromStream(ms);
return image;
private byte[] convertByte(Image img)
{ MemoryStream ms = new MemoryStream();
img.Save(ms, img.RawFormat);
1、把一张图片(png bmp jpeg bmp gif)转换为byte数组在内存中操作。
2、把内存中的byte数组转换成Image对象,赋值给相应的控件显示。
3、从图片byte数组得到对应的图片格式,生成一张图片保存到磁盘中。
这个的Image是System.Drawing.Image。
//Get an image from file
Image image = ...
项目中有些图片需要后期进行维护,一般都会将其存放至指定目录下,但这样一来很容易暴露,我们一般会将其简单处理加密,例如转换成二进制文件等。这时需要在Unity里读取它文件**.byte,将其转换为图片,以达到使用效果。
*All rights reserved.
*FileName: LoadImg.cs
```csharp
unsafe CogImage8Grey ConvertToCogImage8Grey(byte[] data, int width, int height)
// 将byte数组转换为IntPtr
fixed (byte* ptr = data)
IntPtr dataPtr = (IntPtr)ptr;
// 创建CogImage8Grey对象
CogImage8Grey image = new CogImage8Grey(width, height);
// 获取图像数据指针
byte* imageDataPtr = (byte*)image.GetImageData();
// 将byte数组数据复制到图像数据指针中
Buffer.MemoryCopy(dataPtr.ToPointer(), imageDataPtr, data.Length, data.Length);
return image;
使用时,可以调用该方法并传入byte数组、图像宽度和高度,即可得到一个CogImage8Grey格式的图像对象。