首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在UWP中将BitmapImage转换为byte[]并在sqlite中插入

在UWP中将BitmapImage转换为byte[]并在SQLite中插入,可以按照以下步骤进行操作:

  1. 首先,需要将BitmapImage转换为byte[]。可以使用以下代码实现:
代码语言:txt
复制
public byte[] ConvertBitmapImageToByteArray(BitmapImage image)
{
    using (MemoryStream stream = new MemoryStream())
    {
        WriteableBitmap bitmap = new WriteableBitmap(image.PixelWidth, image.PixelHeight);
        bitmap.SetSource(image.PixelBuffer);
        bitmap.SaveJpeg(stream, image.PixelWidth, image.PixelHeight, 0, 100);
        return stream.ToArray();
    }
}
  1. 接下来,需要使用SQLite数据库进行插入操作。首先,确保已经在UWP项目中添加了SQLite支持。然后,可以使用以下代码创建SQLite数据库并插入byte[]数据:
代码语言:txt
复制
public async Task InsertImageToSQLite(byte[] imageBytes)
{
    SQLiteConnection connection = new SQLiteConnection("database.db");
    connection.CreateTable<ImageTable>(); // 创建表格,ImageTable为自定义的数据表模型

    ImageTable imageTable = new ImageTable();
    imageTable.ImageData = imageBytes;

    connection.Insert(imageTable); // 插入数据

    connection.Close();
}
  1. 最后,调用上述方法将BitmapImage转换为byte[]并插入到SQLite数据库中:
代码语言:txt
复制
BitmapImage bitmapImage = new BitmapImage(new Uri("image.jpg", UriKind.RelativeOrAbsolute));
byte[] imageBytes = ConvertBitmapImageToByteArray(bitmapImage);
await InsertImageToSQLite(imageBytes);

这样,就可以将BitmapImage转换为byte[]并插入到SQLite数据库中了。

注意:以上代码仅为示例,具体实现可能需要根据项目的具体情况进行调整。另外,SQLite数据库的使用需要在UWP项目中添加相应的NuGet包,并进行相关配置。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

win10 uwp 读取保存WriteableBitmap 、BitmapImage 保存 WriteableBitmap 到文件从文件读 WriteableBitmapIma

我们UWP,经常使用的图片,数据结构就是 BitmapImage 和 WriteableBitmap。关于 BitmapImage 和 WriteableBitmap 区别,我就不在这里说。...(); Image byte[] 如果我们的 ImageSource 是 BitmapImage ,那么我们不能使用上面的办法,直接保存 WriteableBitmap ,我们可以使用截图 private...[] 传输时不好,不能用在 http 传输上(不是一定的不能),所以我们就把它转为base64,我提供了很多方法把数组 base64 ,把文件转为 base64 。...UWPBitmapImage 不能转换为 byte[] 或 WriteableBitmap 。这句话是错的。...---- 2017年1月4日21:45:37 ---- 我后来过了几个月,发现我们的 BitmapImage 可以 byte[] 我们可以通过拿 BitmapImage 的 UriSource 把它转为

1.9K10

win10 uwp 存放网络图片到本地 下载图片保存图片从本地打开所有代码Nuget安装Microsoft.Toolkit.Uwp

有时候我们的网络很垃圾,我的的UWP要在第一次打开网络图片,就把图片存放到本地,下次可以从本地打开。 有时候用户使用的是流量网络,不能每次都联网下载。 我们不得应用存放用户打开的图片。...cryptographic.GetValueAndReset()); } 我们的图片存放在本地,最后放在ApplicationData.Current.LocalCacheFolder 存放文件...,RandomAccessStream需要byte[] private static async Task ConvertIRandomAccessStreamByte...命令行 Install-Package lindexi.uwp.src.ImageStorage Microsoft.Toolkit.Uwp 当前图片缓存的功能已经合并到 Microsoft.Toolkit.Uwp...工具,不过里面已经看不到我写的代码了,所以变得更加好用 最低版本为 16299 之后可以通过 nuget 找到 Microsoft.Toolkit.Uwp 安装,然后可以使用下面的代码判断如果图片已经保存在本地

1.2K10

win10 uwp 存放网络图片到本地 下载图片保存图片从本地打开所有代码Nuget安装

有时候我们的网络很垃圾,我的的UWP要在第一次打开网络图片,就把图片存放到本地,下次可以从本地打开。 有时候用户使用的是流量网络,不能每次都联网下载。 我们不得应用存放用户打开的图片。...return img; } StorageImageFolder就是保存图片 保存图片 我们需要知道一个Uri就可以拿到一个图片,但是Uri不能做文件名,于是我用md5 Uwp...cryptographic.GetValueAndReset()); } 我们的图片存放在本地,最后放在ApplicationData.Current.LocalCacheFolder 存放文件...,RandomAccessStream需要byte[] private static async Task ConvertIRandomAccessStreamByte...命令行 Install-Package lindexi.uwp.src.ImageStorage ----

1.3K10

UWP 转换 IBuffer 和其他类型

本文告诉大家 UWP 如何转换 IBuffer 为 string 和 stream 类 byte 数组 IBuffer 使用下面代码可以将 byte 数组 IBuffer using System.Runtime.InteropServices.WindowsRuntime...IBuffer 可以使用两个方式,第一个方式是将 string 转换为 byte 数组,请看代码 using System.Text; byteList = Encoding.UTF8....GetBytes(str); 从数组 string 的方法请看下面 using System.Text; var str = Encoding.UTF8.GetString...(byteList); 转换为 byte 数组就可以使用上面的方法转换为 IBuffer 但是在这样可以看到方法的代码有些多,可以使用下面的方法快速转换 通过 CryptographicBuffer 类可以将...CryptographicBuffer.ConvertBinaryToString(BinaryStringEncoding.Utf8, buffer); ---- 本文会经常更新,请阅读原文: https://blog.lindexi.com/post/UWP

1.1K30

silverlight如何将BitmapImage转化为Stream或byte数组?

上一篇"base64编码silverlight的使用"里已经提到WriteableBitmap对象可以借助FluxJpeg转化为base64字符串,而WriteableBitmap又能从BitmapSource...问题解决了 先将BitmapImage转化为WriteableBitmap,然后得到base64字符串,然后可以得到base64的byte[]数组,再然后您可以把byte[]变成Stream 关键代码:...www.CodeHighlighter.com/-->1 WriteableBitmap wb = new WriteableBitmap(img.Source as BitmapSource);//将Image对象转换为...WriteableBitmap byte[] b = Convert.FromBase64String(GetBase64Image(wb));//得到byte数组 将byte[]还原为图片: 1 byte...//这里的b为上面生成的base64编码的byte数组 2 MemoryStream ms = new MemoryStream(b); 3 BitmapImage bitImage = new BitmapImage

1K50

UWP 转换 IBuffer 和其他类型

本文告诉大家 UWP 如何转换 IBuffer 为 string 和 stream 类 byte 数组 IBuffer 使用下面代码可以将 byte 数组 IBuffer using System.Runtime.InteropServices.WindowsRuntime...System.Runtime.InteropServices.WindowsRuntime; IBuffer buffer = xx; var byteList = buffer.ToArray(); string ...IBuffer 可以使用两个方式,第一个方式是将 string 转换为 byte 数组,请看代码 using System.Text; byteList = Encoding.UTF8....GetBytes(str); 从数组 string 的方法请看下面 using System.Text; var str = Encoding.UTF8.GetString...(byteList); 转换为 byte 数组就可以使用上面的方法转换为 IBuffer 但是在这样可以看到方法的代码有些多,可以使用下面的方法快速转换 通过 CryptographicBuffer 类可以将

39040

蓝牙项目开发流程

换为int byte temp temp&0xff转换为int 38高8位在前和低8位在后 第一、二个字节分别为工作电流的高8位和低8位 ByteBuffer buffer=ByteBuffer.wrap...答:byte value[]=new byte{(byte)0xEA,0x01}  问:强之后蓝牙设备读取的数据还是0xEA吗 ?...- CSDN.NET javalong 72、当一个发射器的数据有几千条时查询会比较慢 方案1:使用索引 SQLite 索引 - SQLite教程 SQLite中使用索引优化查询速度...sqlite数据 androidSQLite数据库中用insert同时插入多条记录的方法和效率比较 國與世界各國的時間差一覽表 从以上2个链接可以看出,和中国相差最大的时区为18,会有...18*20=360条记录,所以选择用事务插入记录 深入Android SQLite 事务处理详解 79、sqlite如何修改主键 SQLite语句如何修改主键 sqlite3 开始建立数据库时

3.5K100

base64编码silverlight的使用

传统的.net应用,使用base64编码字符串是一件很轻松的事情,比如下面这段代码演示了如何将本地文件转化为base64字符串,并且将base64字符串又还原为图片文件. base64编码传统.net...; namespace Base64Study { /// /// base64编码传统.net程序的应用(by 菩提树下的杨过 http://yjmyzz.cnblogs.com...\\self2.png", ImageFormat.Png);             Console.Read();         } /// /// 将文件转换为...Convert.FromBase64String(txtBase64.Text);                 MemoryStream ms = new MemoryStream(b);                 BitmapImage... bitImage = new BitmapImage();                 bitImage.SetSource(ms);                 img2.Source =

1.3K70

win10 uwp 如何创建修改保存位图 创建保存图片在 Image 控件使用WriteableBitmap 转换通过读写像素转换 CanvasBitmap

UWP 使用底层的图像渲染就是使用 Softwarebitmap ,这个类提供直接数据修改,可以使用这个类进行软渲染。...首先是需要使用 FileOpenPicker 拿到一张图片,如何读写文件参见:win10 UWP读写文件 因为很简单,下面直接拿到一张 jpg ,当然需要用户点击。... UWP 可以使用上面的方法修改图片格式 上面代码只是简单使用,创建 BitmapEncoder 可以传入 BitmapPropertySet 指定图片质量 var propertySet...BGRA8 格式而且需要先计算透明值,转换打开 SoftwareBitmap 静态函数 Convert 让格式 Image 控件支持。...实际上通过 下面代码可以把 SoftwareBitmap ImageBrush 显示 var imageBrush = new ImageBrush {ImageSource

2.2K10

WPF 从 RGB 字符串纯色颜色画刷的方法

本文告诉大家几个方法用来从 RGB 字符串纯色的 SolidColorBrush 画刷 Windows 下,约定的编程规范里,颜色的 RGB 的字符串表示方法是 #[A]RGB 的格式,一定是 R...对于 #AARRGGBB 不同的是,只使用一个字符表示一个通道,例如 #AC12 等同于 #AACC1122 的颜色 #RGB: 和 #ARGB 差不多,只是省略 Alpha 通道,表示不透明的纯色 开始进行转换时...里面转换颜色字符串所采用的转换器 var brushConverter = new BrushConverter(); 使用 BrushConverter 的 ConvertFrom 方法即可转换为纯色画刷...SolidColorBrush) brushConverter.ConvertFrom("#CCFF00"); 如此即可完成转换 手动解析 如果不想使用框架自带的,也可以进行手动转换颜色,以下是我从 win10 uwp...颜色转换 拷贝的代码 static (bool success, byte a, byte r, byte g, byte b) ConvertToColor(string input) {

71230

dotnet 从入门到放弃的 500 篇文章合集

WPF 对比 UWP 开发,需要知道的1000个问题 Visual studio C# 代码使用 NotNull visual Studio 无法调试,提示程序跟踪已退出 visual-studio-...UWP 九幽数据分析 win10 UWP 九幽登录 win10 uwp 从 Unity 创建 win10 UWP 你写我读 win10 uwp 使用 Geometry resources xaml... win10 uwp 设置 HttpClient 浏览器标识 win10 UWP 访问网页 win10 uwp 读写csv win10 uwp 读写XML win10 uwp 调试软件启动 win10...win10-uwp-csdn阅读-源代码 win10-uwp-imagesourece-和byte-相互转换 win10-uwp-markdown win10-uwp-九幽图床 win10-uwp-从...win10-uwp-初始屏幕 win10-uwp-判断本地ip win10-uwp-右击浮出窗点击位置 win10-uwp-多语言 win10-uwp-存放网络图片到本地 win10-uwp-布局

10.4K20

Go语言从0到1实现最简单的数据库!

输出是sqlite虚拟机字节码(本质上是一个可以在数据库上操作的编译程序) 后端:VM将前端生成的字节作为指令,然后对一个表或者多个表或索引进行操作,每一个表或者索引都存储B树,VM本质上时指令的分支选择语句...= nil { return fmt.Errorf("write %v", err) } // 捞取byte数组到这一页 fmt.Println("already wittern...如果每一个节点的大小固定(如4k,正如在sqlite那样),那么可以进一步提高内部节点的度,降低树的深度。...树的节点查找 表里面查找主键: // 返回key的位置,如果key不存在,返回应该被插入的位置func tableFind(table *Table, key uint32)...只是当前实现的基于B+树的数据库仅仅支持一页内的读取,当一页内容达到上限4K之后便会报错,在后续开发中将进一步优化该功能,提升容量。

71420
领券