C#重新将照片赋值随机名称。将图片保存到绝对路径,并把路径保存到SQL中的方法,展示到PictureBox中

C#重新将照片赋值随机名称。将图片保存到绝对路径,并把路径保存到SQL中的方法,展示到PictureBox中

1//定义照片路径的全局变量
string phtotPath="";
2//通过路径选择文件
OpenFileDialog openFile = new OpenFileDialog();//通过路径选择文件
//设置文件的筛选类型
openFile.Filter = “图片|.bmp;.jpg;*.png”;
//读取文件路径
if (openFile.ShowDialog() == DialogResult.OK)
{
phothPath = openFile.FileName;
pictureBox2.BackgroundImage = Image.FromFile(phothPath);
}
3//定义随机文件名的方法
private string PhotoSave(string currentPhotoPath)
{
//随机生成图片的名称(14位日期加上2位随机值+后缀名)
string PhotoName = DateTime.Now.ToString(“yyyyMMddHHmmss”);
//加上两位的随机值
Random objRandm = new Random();//实例化随机的方法
PhotoName+= objRandm.Next(0, 100).ToString(“00”);
//加上文件的后缀名称
PhotoName += currentPhotoPath.Substring(currentPhotoPath.Length - 4);
//生成完整的据对路径
PhotoName = “.\image\”+PhotoName;

        //把选择的图片另存到新的绝对路径
        Bitmap objBitmap = new Bitmap(pictureBox2.BackgroundImage);
        objBitmap.Save(PhotoName, pictureBox2.BackgroundImage.RawFormat);
        objBitmap.Dispose();//释放资源
        return PhotoName;
    }

4//应用
if (!string.IsNullOrEmpty(objStudent.PhotoPath.ToString())) //当读取到数据库中的文件不是空的时候 讲文件直接复制给pictureBox空间
{
pictureBox2.BackgroundImage = Image.FromFile(objStudent.PhotoPath);
}
else//否则讲控件置空并返回什么也不执行
{ pictureBox2.BackgroundImage = null;return; }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你可以按照以下步骤将 PNG 图片保存SQLite 数据库,并从数据库查询并转换为图片: 1. 首先,你需要创建一个 SQLite 数据库表,用于存储 PNG 图片的数据。表的结构可以定义为:`id INTEGER PRIMARY KEY, name TEXT, image BLOB`,其 `id` 为自增主键,`name` 为图片名称,`image` 为图片二进制数据。 2. 在 C# ,你可以使用 `System.Drawing.Image` 类加载 PNG 图片,并将其转换为二进制数据。例如: ```csharp Image image = Image.FromFile("example.png"); MemoryStream ms = new MemoryStream(); image.Save(ms, ImageFormat.Png); byte[] imageData = ms.ToArray(); ms.Close(); ``` 3. 使用 SQLite 提供的 ADO.NET 数据库连接库,将 PNG 图片的二进制数据插入到数据库表。代码示例: ```csharp using (SQLiteConnection connection = new SQLiteConnection("Data Source=database.db")) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("INSERT INTO images (name, image) VALUES (@name, @image)", connection)) { command.Parameters.AddWithValue("@name", "example.png"); command.Parameters.AddWithValue("@image", imageData); command.ExecuteNonQuery(); } connection.Close(); } ``` 4. 从数据库查询 PNG 图片的二进制数据,并将其转换为 `System.Drawing.Image` 对象,然后显示在界面上。代码示例: ```csharp using (SQLiteConnection connection = new SQLiteConnection("Data Source=database.db")) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand("SELECT image FROM images WHERE name=@name", connection)) { command.Parameters.AddWithValue("@name", "example.png"); using (SQLiteDataReader reader = command.ExecuteReader()) { if (reader.Read()) { byte[] imageData = (byte[])reader["image"]; MemoryStream ms = new MemoryStream(imageData); Image image = Image.FromStream(ms); pictureBox1.Image = image; ms.Close(); } } } connection.Close(); } ``` 以上代码仅供参考,具体实现方式还需要根据你的具体需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值