Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过Powershell将BitmapSource转换为BitmapImage (或Base64)

通过Powershell将BitmapSource转换为BitmapImage (或Base64)
EN

Stack Overflow用户
提问于 2017-02-11 15:42:23
回答 2查看 843关注 0票数 0

我想做一个powershell脚本,接受文件图标,并将它们转换为base64。有一个API程序集可以让我获得文件图标(不仅仅是关联的,还有图像缩略图和视频缩略图)。不幸的是,它给出的格式是一个BitmapSource。我想知道如何将源文件转换为图像,或者更准确地说,通过powershell将其转换为base64。

注意:它必须是powershell...

我试着做了大量的研究来寻找答案,但所有的事情都是用c#完成的,这使得我很难将c#转换成powershell。

这就是我到目前为止所知道的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Add-Type -Path ..\dll\Microsoft.WindowsAPICodePack.Shell.dll
Add-Type -Path ..\dll\Microsoft.WindowsAPICodePack.dll

Import-Module ..\dll\Microsoft.WindowsAPICodePack.dll
Import-Module ..\dll\Microsoft.WindowsAPICodePack.Shell.dll

[System.Windows.Media.Imaging.BitmapSource] $iconSrc = [Microsoft.WindowsAPICodePack.Shell.ShellFile]::FromFilePath('image I am converting').Thumbnail.BitmapSource

编辑:

我找到了一种方法,可以使用以下代码将源文件转换为图像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[System.Windows.Media.Imaging.BitmapSource] $iconSrc =  [Microsoft.WindowsAPICodePack.Shell.ShellFile]::FromFilePath ('Image to convert path').Thumbnail.BitmapSource
$MemoryStream = New-Object System.IO.MemoryStream
$enc = New-Object System.Windows.Media.Imaging.BmpBitmapEncoder
$enc.Frames.Add([System.Windows.Media.Imaging.BitmapFrame]::Create($iconSrc))
$enc.Save($MemoryStream)
$bitmap = New-Object System.Drawing.Bitmap($MemoryStream)

然而,我也需要将图像转换为base64,这是我有困难做的。我试图将图像保存到内存流中,但当我查看字节时,它变成了null。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MemoryStream = New-Object System.IO.MemoryStream
$bitmap.save($MemoryStream)
$Bytes = $MemoryStream.ToArray()
$MemoryStream.Flush()
$MemoryStream.Dispose()
$iconB64 = [convert]::ToBase64String($Bytes)
EN

回答 2

Stack Overflow用户

发布于 2017-04-24 16:10:44

$bitmap | gm定义显示需要第二个imageformat参数。

尝试将图像格式添加到位图保存。这似乎对我很有效:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MemoryStream = New-Object System.IO.MemoryStream
$bitmap.save($MemoryStream, [System.Drawing.Imaging.ImageFormat]::Jpeg)
$Bytes = $MemoryStream.ToArray()
$MemoryStream.Flush()
$MemoryStream.Dispose()
$iconB64 = [convert]::ToBase64String($Bytes)
票数 2
EN

Stack Overflow用户

发布于 2017-02-11 22:20:09

也许我误解了这里的问题,但将图像转换为Base64应该就像下面这样简单:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[convert]::ToBase64String((Get-Content $ImagePath -Encoding Byte))

再说一次,我可能误解了你的问题,但我已经用它在GUI中嵌入了blob,这样我就没有任何文件依赖关系了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42177769

复制
相关文章
silverlight中如何将BitmapImage转化为Stream或byte数组?
上一篇"base64编码在silverlight中的使用"里已经提到WriteableBitmap对象可以借助FluxJpeg转化为base64字符串,而WriteableBitmap又能从BitmapSource直接构造,so ... 问题解决了 先将BitmapImage转化为WriteableBitmap,然后得到base64字符串,然后可以得到base64的byte[]数组,再然后您可以把byte[]变成Stream 关键代码: Code highlighting produced by Actip
菩提树下的杨过
2018/01/23
1K0
js将图片转换为base64
直接上代码: var img = "imgurl";//imgurl 就是你的图片路径 function getBase64Image(img) { var canvas = document.createElement("canvas"); canvas.width = img.width; canvas.height = img.height; var ctx = canvas.getContext("2d"); ctx.dra
lin_zone
2018/08/15
13.9K1
WPF图片处理相关
GDI在全称是Graphics Device Interface,即图形设备接口。是图形显示与实际物理设备之间的桥梁。
码客说
2020/08/12
3.7K0
Java将图片转Base64
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
程序员云帆哥
2022/05/12
1.9K0
php将image转换为base64编码
这种方式能够大大减少页面载入时间,因为整个页面只需要一个请求,多个针对html文档和图片的请求。请求需要被提(上)交(传),但是99%的上传速度是被限制的。
老高的技术博客
2022/12/24
1.1K0
js 图片转换base64 base64转换为file对象
相关: https://www.cnblogs.com/fps2tao/p/9268380.html
全栈程序员站长
2022/07/21
9.3K1
WPF 从 DrawingVisual 转 BitmapImage 图片
有一些库的设计是需要传入一个 BitmapImage 图片,但是我需要从界面代码创建图片,我没有文件,如何通过 DrawingVisual 画出的控件转换 BitmapImage 传给库? 需要将 DrawingVisual 转为 RenderTargetBitmap 然后将 RenderTargetBitmap 转为 BitmapImage 才可以
林德熙
2022/08/04
4290
WPF 从 DrawingVisual 转 BitmapImage 图片
有一些库的设计是需要传入一个 BitmapImage 图片,但是我需要从界面代码创建图片,我没有文件,如何通过 DrawingVisual 画出的控件转换 BitmapImage 传给库? 需要将 DrawingVisual 转为 RenderTargetBitmap 然后将 RenderTargetBitmap 转为 BitmapImage 才可以
林德熙
2019/03/13
1.3K0
WPF桌面端开发5-常用技巧
我们在开发截屏的功能时如果设置了缩放与布局为200%,显示分辨率为2560x1600,
码客说
2020/05/09
8930
将tensor转换为图像_tensor转int
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
11.6K0
win10 uwp 读取保存WriteableBitmap 、BitmapImage 保存 WriteableBitmap 到文件从文件读 WriteableBitmapIma
我们在UWP,经常使用的图片,数据结构就是 BitmapImage 和 WriteableBitmap。关于 BitmapImage 和 WriteableBitmap 区别,我就不在这里说。主要说的是 BitmapImage 和 WriteableBitmap 、二进制 byte 的互转。
林德熙
2018/09/18
2K0
win10 uwp 读取保存WriteableBitmap 、BitmapImage
            保存 WriteableBitmap 到文件从文件读 WriteableBitmapIma
WPF实现基础控件之托盘的示例代码分享
using System.Windows.Controls.Primitives;
用户7718188
2022/11/06
7440
将图像转换为JPG或GIF字节流。
其实这个东西真的没有什么可谈的,完全都是一堆API函数的调用,不过呢,隔那么一段时间就有人在那里问,而且一般也得不到正确的答案,因此,我还是画蛇添足,共享一下这些调用的苦力活吧。
用户1138785
2019/09/11
1.8K0
将图像转换为JPG或GIF字节流。
使用Python将Word文档转换为HTML或Markdown
如何将Word文档转换为HTML或Markdown呢?我们可以使用Python的库Mammoth 来完成转换操作
用户1094633
2022/02/15
3.6K0
java jsonobject转List_java – 将JSONObject转换为List或JSONArray的简单代码?「建议收藏」
我已经通过各种线程阅读并发现了类似的问题,但在找到解决我的特定问题的方法方面却相当不成功.
全栈程序员站长
2022/07/25
9K0
Java通过Jackson将任意对象转换为HashMap
最近和西瓜支付对接项目,由于西瓜支付SDK中需要对请求参数生成签名,但是SDK依赖Fastjson,我们的项目中禁止使用Fastjson,于是进行替换下,以下是原始的代码,通过FastJson将请求参数转换为Json再转换为HashMap:
高久峰
2023/09/04
1K0
php将图片链接转换为base64编码文件流
/** * 图片链接转换为 base64 文件流 * @param $imgUrl * @return string */ function img_url_to_base64($imgUrl) { $imageInfo = getimagesize($imgUrl); return 'data:' . $imageInfo['mime'] . ';base64,' . chunk_split(base64_encode(file_get_contents($imgUrl))); }
Lansonli
2021/10/09
2.3K0
wpf绘图性能分析
添加10000个图形节点大约1-2s,10w个图形需要5-6s,还是很慢,绘制的时候会调用gpu,但效率没提升多少,使用drawvisual还有一个问题是内存很高。
sofu456
2022/10/31
1K0
wpf绘图性能分析
用Python将图片转换为base64字符串
无他,这篇博文记录一下利用Python将OpenCV图片转换为base64字符串并在网页上进行展示的过程,权当备忘。可在这里查看源码。
王云峰
2023/10/23
6800
如何使用 Python 将 Word 文档转换为 HTML 或 Markdown
最近有一个开发需求,将生成的word数据报表以网页格式推送,正好找到一个简单快速转换的模块mammoth。
用户8949263
2022/04/08
3.2K0

相似问题

C#将BitmapSource转换为BitmapImage

110

将BitmapSource转换为BitmapImage的更快方法

11

BitmapSource到BitmapImage

21

无法将Bitmapsource保存到Bitmapimage

14

如何从BitmapSource获得BitmapImage?

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文